I assume what you mean "Stops working" is that the function/Event never gets called?
For me it works however, I am still using older Lazarus 2.0.4 with 3.0.4 compiler most of the time for existing projects because the compiler does things for me that newer compiler broke.
But that does not mean this is your issue. You could have a shell file naming with system links in there causing issues to accumulate the list.
Also, maybe the drop message is being filtered?