It is not normal.. Windows programs have a application icon which is not associated with any form or dialog box, and is shown when the application is run unless set to nothing. It is part of the application class WndClass.hIcon:=LoadIcon(hinstance,'#1').
In delphi it is the same, Application.Icon.Handle.. You can hide the main form and it is still on the taskbar.
I have 4 forms in my program. Depending on what the user selects, depends on what form is shown, but i always want to have an icon on the taskbar, so if another windows is over the top of my program they can always click on the icon and display it. I also want to hide any forms that are not needed.