$ZFで使用する文字列は、Caché内部のUnicodeから文字列変換されずに渡されます。
このため、文字列に日本語(漢字)を含んでいる場合は、エラーが発生します。
エラーを回避するには、お使いいただいているOSにあわせて文字コードを明示的に変換する必要があります。
文字コード変換には $ZConvert($ZCVT)関数を使用します。
例えば、Windowsの場合、変数 cmd にコマンドが格納されているのであれば、以下実行例のように、シフトJIS(SJIS)に変換します。
Set ret=$ZF(-1,$ZCVT(cmd,"O","SJIS"))