Это загадка. Но я так и думал, что кривизна с чтением. Код загрузчика MBOOT и код BIOS любой из версий CP/M (загрузки с HDD или с FDD) в части низовых подпрограмм (init/read/write) работы с IDE совпадает. Код загрузчика в ПЗУ ROM1 и подпрограммы F834 (readsec) в ROM2 чуть сокращеннее чем в CP/M (в ПЗУ места мало), но ничего критического оттуда не убиралось. Должно работать, по крайней мере с MBOOT (там максимум проверок регистра статуса в процессе операций с HDD).
Мелкосущественная деталь (на что бы такое подумать?) - в CP/M между чтениями секторов будут паузы бОльшие (там логики много) чем в загрузчиках где сектора читаются прям один за другим.
Нет, не делал совсем ничего, только спаял. Вот CF-карту подбирал.
И еще есть мысль - раз там дело в гонках, сравнить бы серии МСХ контроллера IDE-RTC: у кого на каких работает и не работает. Про свой помню такое:
555ИД7, 555АП6, 1531ИР22, две 1531ИР23, остальные не помню (но или 555 или 1533)

