Ok well I did some testing (I downloaded MS Chat 2.5), and I see it is not an IRCX feature, it is an MS Chat feature, and I can now tell you exactly how it does it, the answer is CTCP. When an MSChat user sets away, or returns it sends out a CTCP AWAY to the channel. For example, in MS Chat when I type /away testing it sends:
[Anonymous:#testing AWAY] testing

This is apparently to notify other MSChat clients to change the icon to a coffee cup, because if I type /ctcp #testing AWAY test, MSChat then changes codemastr's icon to a coffee cup and states that I'm away. Obviously this system is very flawed though, seeing as how when I sent the ctcp away, MSChat marked me as away even though I never really did /away, all I did was send the CTCP to the channel.

Additionally, if you /ctcp #testing AWAY it then returns your icon to the original and marks you as returned.

If you use MS Chat, all of this is hidden from you, but if you are using mIRC then the CTCP AWAYs become visible.