Vilket program som är bäst, det kan jag inte svara på! Men jag använder som sagt Diskkeeper till att defragmentera diskarna sedan Lavalys Everest för allt annat som har med övervakning att göra.
Det är chkdsk /f samt /r som kräver omstart (om man inte "tvingar fram en demontering", på disk C: krävs dock omstart)
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/chkdsk.mspx?mfr=true
Och har du aldrig kört chkdsk förut så kan det ta en jävla tid

speciellt om du kör /r på en disk med några år på nacken...
Hur kollar man S.M.A.R.T?
Jag personligen gillar Lavalys Everest, eller Aida64 som det numera heter...
http://www.aida64.com/
Detta för att det är väldigt enkelt samt innehåller en mängd med användbara funktioner
Men bara för att läsa S.M.A.R.T så kan du köra med:
* Speedfan
http://www.almico.com/sfdownload.php
* HD Tune
http://www.hdtune.com/download.html
* Active smart
http://www.ariolic.com/activesmart/index.html
m.m
Sedan så måste S.M.A.R.T vara aktiverat i BIOS!
Men har du upplevt problem med en disk så skulle jag rekommendera att göra en backup på det som är viktigt, för när en disk väl börjar lägga av då lägger den av

Det är inte som en bil där man kan kan byta ut någon del när det börjar gå dåligt
Det är inte roligt när man sätter på datorn och texten "Reboot and select proper boot device, or insert media in selected boot device" kommer upp
Edit: Kör chkdsk och se om det rapporterat några fel, kör med chkdsk x: /f (x= disken du ska utföra kontrollen på)