I suggest going a little further on your organization.
You have phphorum class defined in the file you use it. since you are already making use of includes, might I suggest moving class definitions to seperate files.
And depending on your site this may or may not be an issue. but if Backend is included on every page it does open a sql connection EVERY page load, there may be pages where you do not need to check authentication or load config from the database, so maybe moving that to another include file may be an option.
phphorum construction: If you have settings that are truely global to the system it would be a waste to stick them in sql just to call the same info over every single page. It seems from your table that the settings which are being pulled from sql are defined only in $config, which i would assume to be static. A better place to put those would be directly in the $config, or even in an .ini file somewhere. But i may be mistaken about what is in your sql table.
if (!$SESSION['banned']['ip'])
if ($SESSION['banned']['ip'] >= 1)
it seems that inside the IF >=1, you are ASSUMING the previous if statements execution of a valid non-error request. You should decouple the logic or include the second IF inside the first. You may be relying on some other result of $sql im not seeing however.
I don't see any database error handling, but since I see other error functions you wrote i will assume it's all being taken care of inside the class. I'm used to PEAR:😃B where you have to check for a returned error object after each call.
I think that's about it. Hope your site gets up and running.