I tracked down the cause of the mentioned bugs ([#2441], [#2585], [#2889] and [#3396]) to the call of "ShowWindow()" in "winmain.cpp". This tiny patch however seems to completely fix the mentioned bugs for me (using Windows 7).
However you're marking "ShowWindow()" with "IMPORTANT !!!" in source code. Why is it important when the windows is already shown (that is neither minimized nor maximized)? Is it really necessary to call "ShowWindow()" in this case?
I wasn't able to see any unwanted effects on my side with this patch applied.