Io non uso mai il Form proprio per evitare problemi di questo tipo che ho riscontrato diverse volte. Ad esempio se c'è un controllo alle coordinate 0,0 del form, il mousemove del form non può venire intercettato.

Di norma io uso un piccolo PictureBox in cui inserisco l'icona da mostrare nella tray, e gestisco il MouseMove nel PictureBox .

Non ti mostro codice perchè non cambia assolutamente niente, solo che alle funzioni API invece dell'handle (hWnd) del Form, passo quello del PictureBox.

Comunque se vuoi vedere un esempio, chiedi.