In my opinion the only thing that should be blamed is ROM scsi.device. It is old, written when ATA-1 was the latest and greatest spec, this driver can have timing bugs (for example assuming bus speed is always "slow enough") or not detecting drives properly. ATA has changed greatly in last 20 years.
Don't also forget max transfer bug that was always "known" to be caused by bugs in drives. It wasn't, it was actually another scsi.device bug.
"Simple" test that will confirm if it is hardware or driver problem: Does other OS work properly? m68k Linux or NetBSD? M68K AROS? (AROS is probably easiest test, just download the boot disk and see if it detects the drive, but it can have other random bugs at this point of time)