It's a bit more complicated than that. CachePreDMA() and frieds and access error issues are related, but not identical. Consider for example debugging. For a completely harmless instruction like
fmove.d fp0,(a0)
the fpsp may be run if the operand may require denormalization. If a0 is invalid, for example NULL, a debugging tool should show the instruction as the source of the trouble. Unfortunately, if the CPU library does not play well, it will instead show an instruction in the fpsp as fetching the invalid address. As this is run in the supervisor, the task context is lost, and the stack trace is also lost.
Concerning MuFastZero: Depending on its application, it may remap quite a bit more than the zero page, depending on where exec and expansion are placed.
Why it is "wise" not to properly support MMU remapping remains rather opaque to me, really.