OK. It sounds like the HDD is buggered then.
How do you feel about using a live Linux distribution to boot the PC and run some HDD tests? If there is any user data that needs to come off that HDD, you can use Linux to do that. Its quite easy to do.