That is actually rather flawed.
As it will only work in a channel.
/say can be used in either a channel or a query, or DCC (presumably).
You would be better off using this:
/say {
.msg $active $1-
echo -tmi1 $chan ( $+ $nick($chan,$me).pnick $+ )
}
You will not need a numeric, and you will not need a haltdef if you use that, as the /say alias you've created will override the mIRC default one.