Several WIN32 and WDL/swell function use single \0 characters as separators between substrings inside a longer string, which is terminated by two consecutive \0 characters.
Much more importantly, "packed" Lua strings often contain lots of 0 bytes. In order to return packed strings -- similar to REAPER's own MIDI_GetAllEvts functions -- API functions must somehow be able to return strings that are not 0-terminated.
Is this possible?
EDIT: Now it's possible! Refer to this thread: Can extension-provided API functions return strings longer than 1024 characters?