I have been using: ZBit ASP Chat on a few sites which I have managed to use Snitz Users as the username of all that use it (with a heap of trial and error, but got it down pat now), and if they are not a member of the site then they can not chat (easy to allow others to get in but).
I've used ConquerChat, but I don't like how it logs the chatting member out of the chat after the member's session state has timed out. I understand this has been fixed in the .net version. Other than that, ConquerChat did the job pretty well for the price.