Heya, I think you should try using CometChat. I've been using it for sometime and you seem to be describing a similar chat system.
It works smoothly with xF on my site. You can check it out at cometchat.com
XenForo is not yet out of the competition. ;)
I tried arrowchat & cometchat and then choose cometchat. They do pretty much everything including restricting it to certain usergroups. Have that set on my site.