Das Delphi-Char ist ein generischer Typ, also compilerabhängig und stellt aktuell einen Alias des WideChar dar. (vor 2009 war es ein AnsiChar)
Das C++-char ist ein statischer Typ, also ist immer 1 Byte groß, ähnlich dem uchar, entgegen dem wchar mit 2 Byte.
Und genau so ein Mist, ist es, weswegen das WinMD an vielen Stellen total verbuggt ist.
https://www.delphipraxis.net/214473-...vor-winmd.html