ざっと、内部を調べてみました。開発者向けの情報です。
内部でのデータ設定を、代入文をeval相当で行ってますが、evalは0x00を含むとうまく動かないようです。
もともと、今のevalで代入文を実行する方法では、受信データの「』」によって、エラーになったり、別のコマンドを流し込まれて実行させらてしまったりするので、根本的に実装方法を変えるか、evalへ渡すコマンドの生成をevalが処理可能な形になるよう変更する必要があるようです。
(おそらく、TCPやUDPの受信も同様。)
なお、「文字数」の命令は、0x00の前までを文字数として数えるようですので、ご注意ください。他にも、データとしての0x00をうまく扱えない(処理がその前までで終了してしまう)機能があるかもしれません。
(「バイト数」は正しく動くようです)
蛇足。
動作検証をする場合、RS-232Cはどうしよう・・・