Anderer Ansatz:
CSV-Dateien mit Excel öffnen und dann mit Excelmitteln auslesen.
Dazu könnte man Excel aus Delphi heraus fernsteuern.
(Allerdings kann man da auch nicht absolut sicherstellen, dass das lokale Excel mit jeder beliebigen
CSV-Datei vom Rest der Welt sicher und korrekt umgehen kann.)
Ein schon etwas älteres Tutorial ist hier zu finden:
Excel mit OLE-Automation steuern
Egal was Du bei Deinem Ansatz machst und wie gut Du ihn umgesetzt bekommst. Irgendwann kommt eine Datei, die nicht passt.
Murphy wird gewinnen
(Im Prinzip hast Du das Problem in Deinem Kommentar schon benannt.)