I have no KVM, just a nVidia GeForce 7600GT with two DVI outputs. I have a Samsung SyncMaster 215TW in the first DVI port, and nothing in the other. The resolution is 1680x1050 (recommended). I have Windows 7 Home Premium 64-bit.
If I switch off my monitor for a moment and switch it back on, no problem. If I switch it off for several minutes and switch back on, I'm usually presented with a black screen. I know that Windows is still running because I can shut it down cleanly by pressing
the Power button, and I can also shut it down by pressing Alt-F4, I can also hear sound if an application is playing sounds. I have no "sleep" or "hibernate" switched on, and the power settings have been set so nothing is switched off.
The only way I can get around this problem is to go to the Switch User screen before I switch off the monitor. I have a Creative webcam with face-recognition login so when I switch the monitor back on, the "look at the camera" screen always appears although
it's quite often a much lower resolution than it should be. When my face is recognised, the Windows desktop always returns back to the correct resolution.
Another thing I've found is that if I login remotely to my PC using LogMeIn, I cannot use it because Windows is continually adjusting the screen resolution in the face recogntion screen. It changes it quicker than LogMeIn can draw the screen, and it can be
anything from 640x480 to 1680x1050. If I'm lucky enough to click in the right place to restart Windows, once it has restarted I can connect back up to it using LogMeIn and it works fine.
If the monitor is switched off when I first boot up the PC, I also get a black screen and have to shutdown and reboot to get a picture.
So there is definitely an issue with Windows 7 and how it deals with the resolution when it can't detect a monitor, and how it recovers to the correct resolution when the monitor is switched on. If there was a way to force a resolution and not try to detect
something all the time, I'm sure that would fix the problem. I'm sure it's all down to this EDID but that's as far as I know.