Computer taking hours to boot, no apparent reason
I would heed the bad MFT warning. Although I can't say 100% over the internet what's wrong with your machine, you did some nice troubleshooting. The fact that it's slow before Windows even loads (safe mode, startup) indicates the problem probably exists in hardware, not the OS. I say this because System Repair doesn't load your user OS, but a diag version of Windows, the chances of the problem existing in both spaces is slim (even if it were a corrupted driver, it would have to be corrupted in both the client OS and system repair, unlikely).
Corrupted MFT is also a red flag. It's probably why everything takes so long, it's trying to read one or both MFTs before determining they're dead, or actually does recover info from them (the 1 file chkdsk found, for example).
Also, I don't think SMART data will tell you about corrupt data on the disk (which TestDisk did), only physical failures, of which it only found one. I'm not sure how the other tools work, but I can give you another test: Get a different hard drive and install Windows on it. If you get the same problem, you have completely ruled out your hard drive, but I have a feeling it's the culprit.
As @techie007 suggested, you should start anew.
Boot from a live CD and backup any important data you have to a reliable storage device.
Boot from the installation CD/DVD, erase the partition table and make a new one with the partitions you find suitable for your needs.
Install your new system
Configure the system to your liking and make sure the hard drive is now OK
Place your important data back on the hard drive