Adding to the basic idea:
There could be a switch in mIRC to turn it on and off (completely), plus more advanced options for if the person does have it on, such as not displaying emoticons in a sentence if the sentence contains the following inside of it: :*:
wildcards would be allowed.

Perhaps mIRC could have a smart copy, where if you copy an emoticon, it copys as whatever it really is. Such as copying "hi smile how are you?" would translate to "hi : ) how are you?", without the space between the : and )

Since mIRC is not natively AOLized, many people may not want their mIRC to have emoticons as native to it, as in, not default. smile

Personally, I like emoticons in some situations, in others I don't like them. Truthfully, it all depends on how well the emoticon actually "says what I mean it to". If the smiley face is crappy looking to me, everytime I use it, I get the urge to kill. I may like other emoticons though.. So because of this, I think the emoticons should be configurable to look like whatever I want them to (I could create my own set or load other sets, or even specify a different pic for each face).

Idealy, it would look that way to the person I'm talking to as well, but I doubt people using non mIRC clients would want to see something like "hi guys 23423" (where 23423 is the code that mIRC would use to show the correct emoticon. ie, it would convert the ": )" you typed to the code of the smiley face you selected, then the clients of the other mIRC's would display the correct emoticon)

For scripters:
on ^*:emoticon:*:#channel,?:{ if (: $+ $chr(41) isin $1-) { haltdef } }
$emoticon([N])

$emoticon would be used with the "on emoticon" event, and it returns whatever the text is for that emoticon.
$emoticonN would return the emoticon code number.

not just for the event:
$emoticon(0) would return the total number of emoticons
$emoticon(1) would return the first emoticon..
$emoticon(5).num would return the code number for the fifth one or the actual emoticon if echoed.
$emoticon(43453).code would return the emoticon if echoed, or just the emoticon code if used in a script somewhere.

I'm sure there's a few blanks that can be filled in there..