Nun ja...
SendMessage(Handle, WM_SETICON, 1, GetIconHandle);
ist halt was anderes, als
SendMessage(IconData.hIcon, WM_SETICON, 1, FIcon.Handle);
Oben wird an das Fenster eine Nachricht geschickt (
Handle ist dasselbe wie Self.Handle) und bei dir an das Icon-
Handle!
Wenn, dann müsstest du an dein Componente die Nachricht schicken, allerdings müsste die dafür ein Hanlde besitzen, was
imho erst in TWinControl implementiert ist.