Hi. Did you run scandisk with both checkboxes checked, or with both the ./F and /R switches (chkdsk /f /r)? The /R switch, or the bottom checkbox, repairs bad sectors by copying the data to another location and marking the sector so it won't be accessed anymore. Check your logs after running, if it found any bad sectors run it again and see if it finds anymore.....or if it finds a lot of bad sectors.....replace the drive. The /R switch may run for a long time depending on how many bad sectors it finds....maybe hours. BACK UP YOUR HARD DRIVE BEFORE SCANNING WITH /R.....if your boot sector is bad the /R switch can cook your operating system and cause much sorrow.
Also scandisk isn't 100% reliable, for example it won't find problems with the drive motor, which would still cause errors if it's failing. If you can't get past your error message you should clone the drive and replace it. IMO you should replace the drive now.....I'm not a DX expert but I don't think hardware errors are a result of bad code because code never directly accesses hardware, so you can't write any code that would access the hard drive in the wrong way, etc...all of this is negotiated by DX and the bios. Also if you suddenly have bad sectors then more will probably follow, and keep in mind that you're only seeing bad sectors that your program is trying to access.....there may be many more. .
If you're dealing with a drive failure you'll never find the source of the problem until you repair or replace the drive. If the drive crashes before you replace it recovering will be a lot more difficult, or impossible, or very expensive, so make sure you're backed up.