Oops. Are you saying that addresses, that have certain bits in common, can't be cached at the same time?
Yes. If you look at cache_get_content, it uses "index" to identify where in the cache it is. The tag (generated from remaining bits of the address) identifies which of the possible lines are actually stored. The nest of macros is hard to follow, so I used the attached to verify.
cache_is_patchable actually checks for this, but the check in cache_fake is commented out, and anyway, I didn't check the result.
In normal operation, you could have up to 4 colliding addresses.