Bei Pos ist es so, das dort automatisch die passende Version für AnsiString oder WideString gewählt wird.
Wenn du deinen "String" als String definierst, wird dort Seit Delphi 2009 standardmäßig
Unicode (WideString) verwendet ... in den früheren Delphi-Versionen ist es AnsiString.
Ebenso ist es mit Char. (D09 = WideChar und davor AnsiChar)
In der
WinAPI ist es ebenso geregelt ... dort gibt es
Ansi- (abcA),
Unicode- (abcW) und die Standard-Versionen (abc), wobei Letztere wiederrum entsprechend der umgebung auf die
Ansi- oder UnicodeVersionen umgeleitet werden.
Also, mit den von dir "alt" genannten Versionen kann man ein Programm erstellen und dann erst später, beim Compilieren, entscheiden, ob es ein
Ansi- oder
Unicode-Programm werden soll.