Anonymous - first of all, you NEED to add new fields ONLY to the end of table. Else you will break everything.
the switch statement seems to be taboo here when it could definitely be used in come places - switch statements used only in the admin panel, which is run not really often. In index.php, we are using "if then else" just because it is faster, than switch, statement, and it is organized so most frequent conditions appears on top, and script does not check further.
One thing I have implemented is a "private" forum. That means no matter what, you have to be logged in with your user/pw to even see the forums at all - it is really bad idea. If you are trying to close your forums from all aroung the world, like snail is closing in its sink, don't forget that Google and another anonymous search indexers will not index your forums.
One problem with miniBB's code is that it was definitely not written for readability. Everything is bunched together with no indenting etc. - Haven't your visual editor special "re-indent" menu? I think, most editors should have it, if you really need it. We are professional enough, so we don't need indenting. And - indenting will not help you, if you don't know the logics.