Hejka
też miałem ostatnio podobny problem, tylko nie z drzewami a okienkami MDI.
Ja zrobilem to tak ze dodalem flage do komponetu i gdy zaczynasz przeciagac (MouseDown zdarzenie) flage ustawiam na true, a gdy puscisz na innym okienkiem zmianiam flage wszystkich okienek(bo nie przechowuje informacji z ktorego okienka jest przeciagane) na false. Do tego w głowym formularzu ustawilem zdarzenie MouseRelease ktore tez zmianie flagi na false bo moze zdarzyc sie przypadek ze zostala zapoczatkowane drag ale drop zastapil gdzies inniej.
Z tego co wiem zdarzenia troche sie beda roznic w przypadku drzew