Nein, das geht bei der generischen TList<T> nicht, welche direkt die Records enthält.
Wenn man eine TList mit Zeigern auf "Gegner"-Records oder mit einem Gegner-Objekten befüllt hat, dann geht es, so wie du sagst.
Nur daß man andersrum wohl noch besser erkennt, warum es dort geht.
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
PGegnerRecord(Gegnerliste[0])^.Name:='Neuer Gegner';
PGegnerRecord(GegnerListe[0])^.PosX:=100;
end;
Nur muß man hier eben überall selber noch das New und Dispose aufrufen.