The earlier fix missed that ldllcall() converts the buffers from Unicode to bytes after the function call.
This would have been okay except for two things. First, Null_Word is not a STRING but CASEOBJ and so
getstrptr returns something that was not intended to be a string pointer. Second, there's an off-by-one
in this conversion logic modifies one byte more than the length. This was previously safe because
make_buffer allocates one more character than needed to pad it with a NUL character, but is not safe for
Null_Word where getstrptr returns a pointer to who-knows-what?
The follow-up fix is to skip the Unicode-to-byte translation if the buffer NODE* is Null_Word.