This sounds like a graphics card problem, the fact that the monitor stays on in DOS but not Windows kind of gives it away. DOS graphics are different to the fully bitmapped graphics of the Windows UI, and use a different part of the graphics card. The first thing to check is to see if the card is overheating, Everest may give the temps, depending on your card and mobo:

Everest


Otherwise, just take the side off the case and blow a room fan at the graphics card and see if that helps.