It's not just the bottom halves that are missing: the problem is that 8x8 sprite size is active while it should be 16x16. This is controlled by bit1 of VDP R#1.

MacAttack writes 0xE2 to RG1SAV (0xF3E0) before calling CLRSPR (0x0069), expecting the VDP register to be updated with that value. The original BIOS does that, C-BIOS currently does not.

There is nothing in CLRSPR's documentation that suggests it should rewrite R#1, but we'll have to do it anyway for compatibility.