You should be able to sort out whether the drive is good or bad, by grabbing the smartctl binary (there must be a FAQ link for it somewhere) and getting it to read out the drive logs. Assuming the drive had SMART enabled before the failures, that is. And the tool can also do a surface scan (-t long) of the drive.

Other drive troubles, the most common variety, come from IDE header solder joints, and loose crimps on the IDE cables.

-ml