Unter Delphi7 war String=Shortstring (wenn man ihn nicht umdefiniert hat)
Wer sagt denn sowas? IIRC ist String schon ab Delphi 2 ein AnsiString, d.h. Dein Record hätte eigentlich nur den Zeiger auf den jeweiligen String enthalten dürfen, nicht aber den String selbst, es sei denn, Du deklarierst ihn als Shortstring. Was passiert denn, wenn Du aus den Strings ein WideChar-Array fester Länge machst?
Name: array[1..300] of WideChar;