Some more ideas:
- Windows update appears to have a a way to log you back into you latest session
- BIOS power on after power loss setting, you might experience brownouts
- check task scheduler (taskschd.msc) for any entries that have permissions to turn on the system
- check the system or windows event logs for any mentions of reboot during nighttime
- disconnect ethernet cable for debugging purposes
- get a surge protector power strip with a switch
heh.