I've tested this using MSN protocol for a while. My testing receiver is on M$ Windows using MSN messenger 8.0. I found the following facts:
1. If we sent an emoticon THAT RECEIVER DID NOT HAVE, it would not be shown, no matter png or gif file.
2. If we sent an emoticon THAT EXISTS IN RECEIVER's emoticon pool, it could be shown, under certain circumstance:
2.a First time I sent _;-)_ to receiver, but no icon was shown. (underline means space)
2.b Then I sent _;-) to receiver, this time the ;-) icon was shown.
2.c Then I sent ;-) without spaces, shown too.
2.d Then I sent _;-)_ again, this time the icon was shown.
Strange right?
The most confusing thing is: I did not meet this problem before upgrading to (or say, re-installing) Mandriva 2007.0... I wonder if I was missing some libraries or not?
Should I commit a bug report to bugs.kde.org?