I would not be surprised if it is something to do with wide characters. I vaguely recall that we fixed a similar sounding problem elsewhere in the system recently. Unfortunately I cannot remember what it was.
Could it be something as simple as the 'self flush' is needed like we did in WriteStream nextChunkPut?