OK, so this one is evil.
The BIOS provides a function "get floppy drive type" (INT 13, AH=8). This function is called by the MS-DOS initialization code to determine what kind of floppy drives are installed. This function retrieves the floppy drive settings from the CMOS RAM (on EISA systems: The primary CMOS RAM, not the EISA extended configuration storage). At least on certain Award BIOSes, this function is "gated" by the "CMOS power lost" bit, and returns invalid values (0 Tracks, 0 sectors/track, 0 heads) if the CMOS battery is flat. Dallas chips with integrated battery provide the status of the internal battery in their "valid RAM and time (VRT)" bit (bit 7 of control register D), no matter whether they currently get proper supply from the mainboard +5V. If this bit is found indicating "internal battery flat" by the POST, it sets the "CMOS power lost" bit (bit 7 of CMOS RAM, index 0E). The BIOS also prints the message "CMOS battery failed" error message, but doesn't wait for any key and clears the screen directly afterwards, so you don't get to see it.
If I enter a second hard drive (D:) in the BIOS setup without connecting a secondary drive to the IDE port, I get to see both "Hard disk(s) fail (20)" and "CMOS battery failed". This proves my point that the message is indeed printed, and you can see it if the BIOS waits for F1 due to a different error.
I think it is quite unfortunate, that the BIOS mostly works with a flat CMOS battery, but stubbornly refuses to report valid drive types to DOS (or any other caller of INT13), and doesn't indicate this condition in any user-visible way.