The following are the results of a VERY quick test, so don't bite my head off if it's wrong:

When he is typing:
//echo My other mIRC is on $dde(mirc, evaluate, $server)
The mIRC he's typing it in is evaluating $server to whatever server he is on, so if he is not on a server (which I am 99% sure he wasn't) it evaluated $server to nothing, and so gave his other mIRC nothing to evaluate.

When he is typing:
//echo My other mIRC is on $dde(mirc, evaluate, $!server)
The mIRC he's typing it in is evaluating $!server to $server, and so it is telling his other mIRC to evaluate $server.