Nur so ein Gedanke: im OnMouseLeave das Control unter dem Mauszeiger ermitteln und (ggf. rekursiv) dessen Parent untersuchen. Ist das irgendwann das Panel selbst, dann ignorieren.
Dazu noch ne Boolean Hilfsvariable, damit man auch OnMouseEnter ignorieren kann, wenn von einem Child Control wieder zurück aufs Panel gesprungen wird.