Correct me if I'm wrong, but the problem I seem to have had with ICQ chats were caused by ICQ chat being peer2peer. What I mean is this:
ICQ does a client to server connect to announce its own online state as well as getting the online state of your buddies. On a multi-user chat though, anybody but the first person on that chat (the first one who invites the others) uses a peer2peer connect to that first person's ICQ client.
IRC on the other hand always uses client-server connects.
In other words: To initiate a channel on IRC, you only need the ability to make an outgoing TCP connection (to connect to an IRC server). To create a multiuser chat with ICQ, you need the ability to accept incoming connections (to let others join your chat by connecting to your client).

cu,
sven

proud MkII owner (12GB blue/green/smoked, #080000113)
_________________________
proud owner of MkII 40GB & MkIIa 60GB both lit by God and HiJacked by Lord