-dt-, your class is far more complicated then it needs to be.
You don't need all those fancy API callings to get to the tray icons of messenger.
In fact you don't need to know the handles to the tray icons since the Shell_NotifyIcon API doesn't need them. All it needs is the handle to the window which owns the icon (which is the hidden window with class "MSNHiddenWindowClass") and the identifier used for the tray icon (which is 40046). With this in mind you could make your class a whole lot shorter...
see "
CookieRevised's reply to Help: How to write code that hides system tray icon".