ok, if your OS (xp/2k) is set to reboot on errors (default setting by micorsoft-god only knows why) then when you get an error your system will reboot. To change this "feature" right click on my computer goto properties, advance tab, startup and recovery settings, half way down uncheck auto-restart on errors. Now if windows is restarting because of an error then you should see it on the screen.
You can examine your log files in computer management (shortcut: right click on my computer gotot manage) under event viewer. look for any logs at about the time of the last reboot, or error.
Dr. watson comes with windows. In system information (go thru start, all programs, accessories, system tools) pull down the tools tab and goto dr watson. Sorry i don't know of a quicker way to get to this prog. Here dr watson will list any BSOD's you may have with some what of an explaination.
As for the HDD tests, every manufacturer of HDD has a test prog on thier web site.
the other thing you might want to consider is checking for virus/spyware/adware on your system. I've seen some nasty spyware/trojans that will do all kinds of stuff to systems.
has a free viri scanner called housecall. As for spyware I recommend "pest patrol" but it may cost ya...