if it never happens before its been on for a few hours the computer may be overheating. is it a laptop or a desktop ? laptops are a lot more susceptible to it but it can happen to desktops too.
has it got power saving options on it ?
Tough to say. Best I can find is probably a driver file is corrupt most likely one for video or the USB ports
You can try reinstalling those
I would also do a test on the ram memory and the hard drive
The stress test for the ram were probably fine and the standard Windows test on the drive should be enough as well. You can set it to test sectors though it takes a long time
If it's not that than its down to a corrupted piece of software
Try setting it to safe mode and leave it running for a day and if it doesn't do it than you can start removing things that autostart in the msconfig file and see if you can find which one it is
Usually it would be best that made it fail after that long. You say you have that covered I believe you