Hola,
Aprovechando el mensaje "WM_MOUSEMOVE" quizás podrías encontrar las coordenadas en que se encuentra el ratón, así como también si estas están "dentro" del "TrayIcon". De este modo podrías acaso implementar lo que necesitas. Muy probablemente me equivoco, pero, me suena que "WM_MOUSELEAVE" y "WM_MOUSEHOVER" son mensajes "nuevos" que no todos los controles soportan. Esto último es igual una tontería, algo que "me suena", pero, sin pies ni cabeza. Lo primero, sin embargo, creo que tiene su lógica.