Quote
P96 behaviour with the mmu lib present has not changed
This is correct. What I'm saying is that the P96 behavior without having mmu.lib present has changed.
If you boot a system with an older rtg.library, without having installed mmu.lib, and the driver requests BIF_CACHEMODECHANGE, then the memory area reported via MemorySpaceBase/Size will be marked CACHEINHIBIT.
This is not what happens with the new rtg.library (when having mmu.lib installed); the area is not marked CACHEINHIBIT.
As outlined in the first post, there is also no warning/error shown if rtg.library cannot find mmu.library.
Quote
So unless you've created shared memory in your system that for some reason is in the freemem list, but can also be used as gfx mem, you're good. If you have such shared memory, you may need to take care of cache inhibit yourself.
This is exactly the situation I have; The memory used for RTG is "any" memory, which (if mmu.lib is installed) defaults to COPYBACK.
I already have the workaround you suggest in the CARD driver today, because it was required when using the older rtg.library together with mmu.lib.
But what I'm really confused about is "what does IMPRECISE w/o CACHEINHIBIT actually mean?".
Reading the 68060 manual I can't find any support for marking pages like that. Maybe I'm blind 
To me there are only 4 modes : CACHED (copyback), CACHED (writethrough), CACHEINHIBIT (precise), CACHEINHIBIT (imprecise).
So what do you suggest this cache-enabled-but-imprecise mode actually is?
That's why I'm suggesting you need to also provide the CACHEINHIBIT flag together with IMPRECISE+NONSERIALIZED, when calling mmu.lib/SetProperties, because not doing that will be a no-op (as per mmu.lib documentation).