What API are you working against? A totally managed API, a COM interface, a P/Invoke signature? C-style strings are, by definition, Chr(0)-terminated, so the API presumably doesn't work with those and expect it to work. Maybe it's just a matter of changing the interop signature.
What API are you working against?
Microsoft POS for .NET
I would just try to send that to the device and see if it works.
It just spits out a few blank lines and that's it.
I can't understand why they would choose chr(0) as the code to reset?
This was specified by Espon in the design of esc/pos, not MS, I might add.