Making use of another *undocumentated* identifier (part of the changelog, but not yet in the helpfile):
versions.txt (17/02/2006 - mIRC v6.17, #48)
Added $isutf(text) identifier, returns UTF-8 status of text, where 0 = not UTF-8 (contains invalid UTF-8 sequences), 1 = seems to be plain text, 2 = seems to contain valid UTF-8.
Try replacing your:
with:
$iif(($isutf($1-) == 2),$utfdecode($1-),$1-)