From T118567#1809438:
SubmissionHandler::handleSubmit() contains the following code:
// Check mediawiki core permissions for title protection, blocked // status, etc. if ( !$workflow->userCan( 'edit', $context->getUser() ) ) { reset( $interestedBlocks )->addError( 'block', wfMessage( 'blockedtitle' ) ); return array(); }
This means that if there was any sort of error whatsoever, the reported error will be "user is blocked" even though the actual error might be something very different.
In MW core, Title::userCan() is really just a wrapper for Title::getUserPermissionsErrors(), so we should be able to surface the real error.