The bottom line was that the canonical type on OS X is UTF-32LE, not UTF-16LE as on Windows, or WCHAR_T as on Linux (which is a pseudo-encoding anyhow, which means “the system dependent and locale dependent wide character encoding”). On OS X using WCHAR_T defaulted to UTF-8, which – while it is a great encoding – didn’t jive with the rest of XBMC.
I can’t believe that took around 6 hours to figure out…