Give the RAM a check, too.
A great bootable disk with lots of utilities is at Ultimate Boot CD - Overview
It's always a good tool to have around. It has almost any worthwhile tool you can find, all in one place. Directions are on their site.
Just put that on a CD and run the memory test. If it comes up with errors, the RAM is bad. It's best to let it sit and run through it's thing a few times, though.
Also, if you think it might be the hard drive, run a chkdsk on it right from windows(or use the tools on the CD). Easiest way it to right-click on the drive itself and go to properties>>tools tab>>check for errors. Make sure you check all the options, and automatically fix errors and do a surface check. It'll try to run, and then ask you to do it when it reboots. Reboot, and let it go. To see the results of the check (If you're not around when it finishes) you can go into the administrative tools in the control panel and go into the event viewer. It'll show up in the applications log under event 1001. It'll say what bad sectors it found, or what indexes it fixed, etc...
I'm not one to rule out any possibilities, because hey, freaky things happen. But it doesn't really seem like a HD problem to me. Especially if you're getting different errors each time. But certainly give the RAM a check. It can go bad, and it's pretty easy to rule out.