...I'm running windows 7 x64, and leaving it running it will run for months. If I leave cudaminer running it will run all day fine. But I leave it all night and my system hangs at random times...
The timing of the crashes leads me to suspect the Windows auto update feature which occasionally happens overnight by default. I am also running on Win 7 x64 (three GPUs) for weeks at a time, but I don't think I have ever had a hang like this. I see that you have tried disabling sleep mode, but be sure to also disable auto updates.
Try this:
For Windows 7 the two most important settings are to disable automatic updates and to disable sleep mode. Windows decides by default after downloading an important update to reboot your system in the middle of the night, which occurs only often enough to make it hard to figure out what happened. Going to sleep is different from turning off the display, and you can adjust them independently as shown below.
I. Click on the Start Button and find
"Control Panel->System and Security->Windows Update->Change Settings"
Change "Important Updates" to something like "Download updates but let me choose whether to install them"
II. Control Panel->System and Security->Power Options
Whatever plan you use click on "Change plan settings" and make sure "Put the computer to sleep" is set to "Never"
Just remember to update manually from time to time, because running Windows without updates leaves a system vulnerable to exploits.