Ich habe mir jetzt mal angesehen, was an der Stelle passiert. Leider reichen meine Assembler-Kenntnisse nicht mehr aus, um wirklich alles zu verstehen.
Allerdings wird der PAnsiChar über einen festen Zwischenbuffer (Buffer: array[0..2047] of WideChar) und der Microsoft-Funktion MultiByteToWideChar in einen
Unicode-String gewandelt, der dann über neu allozierten Speicher zurückgegeben (System.GetMem wird explizit aufgerufen) wird.
Von daher ist die Konvertierung wohl an der Stelle gefahrlos.