Hey Ed,
It's completely possible that YottaDB/GT.M "fixed" something with delimiters somewhere along the years, but a $C(0) showing up is really strange. Is your client sending the data still the same?
I just noticed that you are reading standard input and output.
For reference, here's what I did in the M-Web-Server to deal with delimiters:
https://github.com/shabiel/M-Web-Server/blob/master/src/_webreq.m. I delimit by $C(13,10) while reading the HTTP headers, and then switch to no delimiters while reading the data.
You said that you are using stdin/out. If so, you may find the code that is used here more useful, as it is invoked from xinetd:
https://vivian.worldvista.org/dox/Routine_XWBTCPM_source.html
Let us know how you fare.
--Sam