Here is a proposed fix to IDE issues. Check rev.527+ on googlecode.
Also here is a small IDE test that is runnable as $C from FAT device (either SDcard or HDD).
It kills #40 sectors starting from sector #123 (hex values). So either be ready to trash your FS or move FS away from start of disk. I've formatted my HDD with GParted and FAT32 appeared to start 1Mb after beginning of disk.
In a normal state (test is passing OK) you should see just the passes counter incrementing. In case of an error, there will be error dump (showing first wrong byte) scrolling upside down.