I've just wasted a bunch of time trying to fix that stupid windows spinning cursor on startup in HH.
Turns out its a MSVC debugger issue. If you start HH outside devenv, then the "loading" cursor problem disappears.
I did find some interesting info on process creation, so not a complete waste of time. MSVC must pass the flag STARTF_FORCEONFEEDBACK when it starts the process to debug.
Indicates that the cursor is in feedback mode for two seconds after CreateProcess is called. The Working in Background cursor is displayed (see the Pointers tab in the Mouse control panel utility).
If during those two seconds the process makes the first GUI call, the system gives five more seconds to the process. If during those five seconds the process shows a window, the system gives five more seconds to the process to finish drawing the window.
More info at msdn