Doppelte Zeilen zu entfernen wäre jetzt auch nicht das große Problem.
Die Stringliste am Ende noch einmal durchlaufen (count-1 downto 0), mit IndexOf schauen, ob die Zeile (nochmal) gefunden wird, also gefundener Index kleiner als der aktuelle Index, und wenn ja, dann die aktuelle Zeile (I) löschen.
Und damit würden auch die zu vielen identischen Header gelöscht