Выяснилось, что для экономии запросов, проверку я сделал по вхождению имени юзера в текстовые строки "авторы/беты/переводчики", вместо того, чтобы сделать запрос к таблице с отношениями юзер_фанфик. Но! Если фанфик опубликован анонимно, то в строке "авторы/переводчики" хранится надпись "фанфик опубликован анонимно", а строка "беты" вообще пустая!
Какое-то здесь концептуально неправильное дублирование информации видится мне.