Look for a firmware update.
Replace the drive. This is a good SATA one:http://www.newegg.com/Product/Product.aspx?Item=N82E16827249054
Thanks for the suggestion. Strangely, when I installed the first drive in a Vista computer, not the Win7 computer it was originally in, it was able to read all files. Both drives are now in a computer I am going to give to a charity which sends computers to African schools so I can forget about the problems I had.