Habe gerade mal geguckt, der Delphi Source wurde mit einer alten Delphi-Version geschrieben wo der standard String Typ noch AnsiString war und nicht WideString. Also entweder z.B. mit Delphi 2006 (Die Turbo Version welche es früher free gab und jetzt nicht mehr offiziell herunterladbar ist bekommst du wenn du ne nette Mail an Embarcadero schreibst immer noch geschenkt, wenn du es unbedingt legal haben willst.) oder die Stellen manuell fixen.

Der Autor hat hier die Typen PChar und PAnsiChar gemischt. Wenn der z.B. folgendes geschrieben hätte: MessageBox(0, PChar(stringvariable), 'bla', 0); würde es sich in einer alten Delphi Version automatisch als Ansi und in einer neuen automatisch als Unicode kompillieren weil MessageBox in dem Fall MessageBoxA oder W ist und PChar je nach Delphi Version dann PAnsiChar oder PWideChar, funktioniert also.
Wenn der Autor allerdings (was hier häufig der Fall ist) eine Variable als PChar deklariert und dann ein PAnsiChar dort reinbügeln möchte funktioniert dass in einer alten aber nicht in einer neuen Delphi Version weil der Typ nicht geschnallt hat wann man PChar, PAnsiChar und PWideChar benutzen sollte. Letztere beiden nämlich nur wenn es der Typ sein MUSS.

Daher kannste eigentlich immer Compilen hämmern, die nächste Stelle fixen und so weiter.