For about a year now, I've been trying to diagnose occasional system freezes/lockups--no BSOD, no warning or messages after reboot--the system simply freezes. I reboot/reset and everything works fine.
I've done lots of things: memory (RAM) check, hdd scan, installed a new network driver, and even exchanged a SATA cable to the hdd. I've had it cleaned of dust with compressed air twice this past year. The computer is in an open area and near a window in fact.
I've ran out of ideas on how to proceed; but recently, this came to mind: that perhaps the case is too small. The case right now has two 18 cm fans but no fan on top or in front (because there's no openings in the front or on top).
My question to you: How do you go about diagosing overheating? What component is overheating and locking up windows? I've been using Everest to monitor the temperatures. After a lockup and upon rebooting, Everest usually gives me these temps: 52 C mobo, 50 C cpu and 31 C on the Seagate. What I'm after, I suppose, is a diagnostic tool that can tell a novice like me whether these temps are too high for the parts I have. Then, I'm guessing the case should probably be replaced.
By the way, are there tools that can check my voltage readings to the cpu/mobo? Attaching output here.

specs: AMD Phenom II (quad), chieftec ps (500W), gigabyte mobo, radeon hd 4600 series, windows XP.
Thanks a million for any advice.