I've actually fixed this now! I've tried uninstalling pretty much every driver on the pc, repair install of win7, clean install, installing server 2003, and disabling every device in the computer apart from sata and display. It still locked up.
Then, I thought I'd mess arount with bios settings, not having the slightest idea on what half of them are. I disabled something called spread spectrum, and it stopped locking up! AFAIK, this does not affect the performance or stability of the computer in any way whatsoever.
pmshop, try running memtest86+ first, then uninstall drivers for chipset, display and audio, and if it then works, reinstall them one by one to find out which one is the problem. Of course, check for updated drivers. If all else fails, see if you can find a bios option for CPU/Sata/etc spred spectrum and set them all to DISABLED. (on my bios, I think it is under CPU Config and Chipset Config)