I tested both of your codes (the second one in all four modes - debug/release, static/dynamic) and neither caused the effect you are describing for me.
Similar set-up to yours but using VC.
Just to make sure, I have Windows 7 Ultimate 64 bit.
I tested it on a similar setup on another computer, white screen appeared indeed.
Should I attach a binary?
Do you have the problems with other resolutions too?
Yes, I tried using 1024-768 (with actual screen size of 1600 by 900) and I am getting a white rectangle covering right bottom part of the screen (attached a screenshot). On the native size, it covers full screen.
Does a window the size of the screen still not have the effect?
Yes, no effect, just the red screen.
Does the second code you posted ("enjoy white screen for one second") really change what is drawn on the screen when you create and event and then poll one?
I do not understand the creating an event part of this question. If I make a keypress on the red screen (but before the white one), behavior is similar. But, yeah, the program really does change what's drawn on the screen. However, I have recently noticed some irregularity. Just sometimes, it would all draw fine and it would be a red screen all the way. But not most of the time.
Have you also tested clearing the screen with a colour before the drawing of the sprite to see if it's returning to that state or creating a new white state?
Yeah, put
mWindow.clear(sf::Color(0, 255, 255, 255));
right before drawing the sprite, behavior is still the same. But I think it is creating a new state indeed, because if I write
mWindow.display();
Sleep(1000);
right before drawing the sprite, I see black -> red -> white.
Now, here is something else that I found out.
1) There is no such problem on OS X (10.8) or Linux (Bunsenlabs).
2) If I kill dwm.exe (desktop window manager)... more precisely, if I kill it twice, because it reincarnates, the program works just fine! Open -> red screen -> red screen. So, I guess, to observe the problem, you gotta have that running.