OK, had a strange issue...
I have my forums grouped together in three major cats. For example...
Category 100
- Forum 101
- Forum 102
- Forum 103
Category 200
- Forum 201
- Forum 202
- Forum 203
Category 300
- Forum 301
- Forum 302
- Forum 303
I have Cerberus configured so that Domain A has access to Category 100 & 200 while Domain B has access to Category 300.
While posting on Domain A in Forum 102 (just for example, but really any forum on Domain A) I was getting a 'No permissions' error. To get around that I disabled the unset permissions line from the "Forum Display" plugin used by Cerberus. Did not solve my problem but allowed me to continue so I could experiment. When I did continue my new thread that I was posting in Forum 102 ended up being posted in Forum 303!
So I poked around for a bit in the "Forum Display" plugin again and enabled the 'debug' lines so I could see what was going on in what sequence. Sure enough Forum 303 was the last forum ID that was being evaluated and, since I was on Domain A and not Domain B, it was removing that forum ID from the cache & permissions.
Going back to posting a new thread I did a view source on the page and could see that even though I was posting to Forum 102 in the URL the various buttons (eg: preview, save, etc.) were all referencing forum ID 303 instead. That led me to believe then that the variable $forumid being used in the plugin was not being preserved as a local scope variable and was being used by the rest of vB, hence why since forum ID 303 was the last one evaluated then that is where it was thinking I was trying to post to.
To confirm I changed all references in that plugin from $forumid to $forumid
x to make it unique and repeated my experiments. Success!
This was with vBulletin 4.0.8 running on PHP 5.2.12 using the version of Cerberus in this thread.