SMART provides a lot of data, some of which is crap
# smartctl -l error
Any disk with a non-empty error log you should consider replacing. Also, always run the short diagnostic tests:
# smartctl -t short
# [wait 2 minutes]
# smartctl -l selftest
What the manufacturer's test programs do is *precisely* run the SMART diagnostic test, so save yourself a CD-R. All they do is run the long self test. All SMART-friendly HDDs support the short (1 to 2 minutes) and long (1 to 2 hours) diagnostic tests, the latter doing an exhaustive sector scan. Boot a Linux live CD and type "sudo smartctl -t long
A damaged disk cannot pass that test, not unless something is utterly borked with the firmware (*cough* seagate *cough*).