Реализация этой фичи на стороне сервера все-таки будет выглядеть приятнее.
Угу. Внести дополнительные определения в преамбулу (неужели кому-то захочется их оттуда убирать?) было бы проще и удобнее всего. Если препроцессить код сообщений, а потом отдавать

у… во всяком случае, придётся допиливать цитирование (если у пользователей потенциально разные определения — а иначе разве будет лучше, чем внести всё в общую преамбулу?).
Насчёт "не так часто" - не скажите.
Ладно, не скажу.

Неискушённым участникам можно было бы вообще не давать использовать форматирование… но тут три проблемы, одна другой хуже: определить искушённость, негибкий запрет и реализация, т. к.
все bb-коды запрещать бессмысленно.
Каким образом?
Интересно, кстати. Если хранить и исходник, и обработанное сообщение, на сервере придётся делать изменения всё равно.