SpinRite is fine if the problem is purely software - and we don't know that's the case for JPB's computer. Best to keep it simple, read Engineer's post above:
High Seas if it is mechanical problem beyond the build in abilities of the drive to replace bad sectors with it reserves he is in deep do-do in any case however spinrite will look at the disk and if there are bad sectors it will do it best to recover the information in those sectors and then tell the hard drive control to replace the bad sectors out of it reserves sectors and place the information on the new sectors.
Take note it also boot completely independent of the OS on the hard drive.
The very high cost of the program is the only draw back to using/trying it in this case.
Hate to sound like a damn advertisement for this costly program but it had indeed handle similar problems for me.
Off hand I would place the odds of getting his system up and running with this program as at 70 percents or so.