Old unstable drivers have often been known to cause problems like this. I always prefer to test the hardware first since it's easier. Memtest and a CPU stress test are a great place to start.
If everything checks out OK, update all the drivers and see what happens. If the problems persist, check for a BIOS update. If that still won't solve it, a re-install of Windows is the most certain way of fixing the problem and sometimes takes less time than tracking down an elusive bug.