I work for the Geek Squad, and we use a couple different programs for hardware diagnostics.
PC Check - scans over basically everything.
Memtest - obvious. Let it run through quite a few passes to ensure your memory is good. Only running 1 or 2 passes can lead to not catching errors that will eventually propagate.
DFT - Tests your hard drive. I'd recommend backing everything up before running this (and any diagnostic, really). DFT can brick a HDD that is already going south. Its fine on a healhty HDD.
Also, QA+32, but I don't really like it.