I would suggest calling this a Rich Text Editor instead of a WYSIWYG. More than likely it won't be a true WYSIWYG.

Here is a BBCode parser I wrote using javascript. It uses the same tags that phpBB has for custom bbcodes ({TEXT}, {SIMPLETEXT}, etc). It can convert bbcode to html and html to bbcode. Something like this should allow custom bbcodes to be added and wouldn't change massive amounts of code if the built in bbcodes are switched to "custom" ones.

One question I have is about custom bbcodes or even the quote bbcode. The quote bbcode contains something like "x said:". You don't want people to be able to change "said:". You only want them to be able to change "x". Same could go for spoiler bbcodes that have something like "Spoiler:" in them.

If you set contenteditable="false" on elements then CKEditor won't allow those to be edited (seems like it may not work in some browsers but I can't find the documentation about this at the moment). So that would be the solution but do you attempt to add that attribute automatically or do you require people to add another HTML template that is used for the editor?

That mod was pretty, but it was literally just CKEditor stuck on top of phpBB - the quotes didn't look like phpBB quotes, and the font was different. That mod would be alright to be put into phpbb, but I think that it would be better if it used only hooks, and it would need some modification so that what you see in the editor is what is put into the end post.