Как предотвратить отправку писем, кроме подтверждения администратора, при выдаче прав администратора/модератора?

Думаю, это может сработать, если установить disable_emails в yes, а не в non-staff. Некоторые письма обходят эту настройку, и admin_confirmation_message — одно из них.