Typically a cookie would be used to (indirectly) track when a users last server interaction occurred. It appears to me that if i stay on the vB side for a 'long time' (maybe a day) without using anything else, I get logged out of chat/article side. So now the system says I'm logged in, but if I try to use the chat side I get some crazy behavior. On the free parts I get what Dave is describing. On the subscriber parts I get an infinite redirect loop. If I only use the chat/article side for a 'long time', then I get logged out of the vB side and see different odd behavior. In this instance, the vB side continually prompts me to login, but no matter what it will not accept my correct user name / password. No matter which side gets our of sync, the solution is always the same.
1) Go to vB side, logout
2) Go to chat side, login
4) Login to either chat or vB side and it works until one side or the other expires
This probably isn't precisely correct, but I suspect it's close (too many years of experience with issues like this) and this post would likely help your dev to track it down. Judging from your efforts to decouple vB from everything else, I'm guessing that when a user interacts with the vB side the tracking for the chat side is updated and vice versa.