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?