This may seem a little obvious, but have you tried running chkdsk to see if some part of your drive is messed up? Another possibility could be that the IDE cable/SATA cable is malfunctioning. Could you give us some specifications about your computer? How old is it? Do you know if the drive is SATA or PATA (PATA is also known as IDE, which is the older kind, with a fatty ribbon cable)
Another thing you could check is your event log. If you're system administrator, and are running Windows XP (and Vista has it too, I think), go to Control Panel -> Administrative Tools -> Event Viewer. Look in each item of the list on the left and see if you can find error or warning events that happen right before the computer freezes. If you can find a pattern, it can help diagnose your issue.
HDDs these days aren't too expensive, so in the worst case scenario, you could be putting up $50 or so, depending on how much space you want.