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)
Quote:
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:
Code:
$utfdecode($1-)
with:
Code:
$iif(($isutf($1-) == 2),$utfdecode($1-),$1-)