AssignFile prüft nicht, ob schon eine Datei mit dieser Variable geöffnet wurde.
Das ist auch nicht möglich, da der FileRecord nicht automatisch initialisiert wird.
AssignFile überschreibt also einfach den Record und das "alte" Dateihandle, aber es schließt diese Datei nicht.
Das
Handle würde also, unter
WinNT+ zumindestens, erst beim Beenden des Programms geschlossen, wenn du es nicht selber schließt.