It is next to impossible to diagnose intermittent problems. A tech needs to catch them in the act.
However with hard drives, modern drives actually store information on the drive which indicates the health of the drive. While not perfect, this information can give you a hint if the drive is in danger of imminent failure.
For example, WinXP has via Control Panel an Administrative Tools selection which includes Computer Management. This permits looking at your hard drives and might say something like:
"WinXP System NTFS - status Healthy."
More specific information can be obtained using diagnostic programs supplied by the maker of your hard drive.
Third party programs such as AIDA32 can give very specific information about your drives. This program can give you, for example, a raw read error rate or seek error rate and might say OK value is normal.