Okay, what you explained does make sense, but not in the context of a federation event (as far as I understand, which could very well be wrong).
If B’s server sends the full response along, then C can see the contents of A’s post even though they’ve been blocked by A.
Sure, but this would only be needed if a user needs permission or something to view a post. They don’t, a post is (always, afaik?) public.
Besides, federation is not on a user level, but on an instance level. It doesn’t matter if user A has blocked user B. As long as just one person on user A’s instance does not have user B blocked, events and metadata will need to be federated. So, for public federated services, I don’t think it makes any sense to use this kind of access control.