I think that setting Maxtransfer low enough makes the IDE device drivers ask not more than a certain amount of sectors to read or write per one IDE (or ATA) command. So the problem could come because of buggy firmware on the IDE disk, which doesn't do the correct amount of data transfer when it gets certain values to the sector count register. For example, the value "0" to this register should ask for 256 sectors in (certain, if not all, revisions of) the ATA-standard, but if then the IDE drives behaves wrong, data could get corrupted on the disk?