I understand the reason for this but I have a problem with the semantics here, if I'm mixing in the PreventBlockedUsers trait to a class I would expect it to do what the name suggests (i.e. block users), otherwise I wouldn't mix it in to begin with.

I think the approach you used should be reversed:

instead of adding  $this->preventBlockedUsers = true;  to the controllers you want to use the block (e.g. WikiFeaturesSpecialController) and mixing in the trait to their common base class, I'd suggest to remove this property and apply the trait to those specific controllers; then you could change line 180 in WikiaDispatcher to check if the controller implements the trait before calling the preventUsage method.