one way to verify if this problem is down to hardware or windows is to boot your computer from a live cd, if you can successfully boot from the live cd and keep the pc running for an amount of time then you know the problem is with windows (most likely one of the causes mentioned above) however...