Da kann ich Dieter nur zustimmen.
Wenn die für die Verarbeitung von 600.000 Sätzen 2 Stunden brauchst, sind 38 Sekunden zu vernachlässigen.
Das Ganze auf Basis von LF's aufzubauen ist sowieso Humbug da du für jede kleine Sortierung eine LF brauchst. Und dazu noch der Overhead für das ermitteln der Schlüsselfelder.
SQL in Prozeduren/Funktionen zu packen sollte generell eher auf Funktionen beschränkt werden und nicht die alten Filehandler ersetzen.
Der Nachteil ist eben durch die Übergabe von Strukturen wieder die Komplettwandlung aller Beteiligten.
Bei SQL kannst du den Vorteil, nur die Informationn zu lesen, die gerade benötigt werden, auf diesem Wege gar nicht nutzen.
Und was machst du mit Joins?
Kommen die bei dem Konzept nicht vor?
Ich mache z.B. einen Select auf Bewegungsdaten und hole mir per Join gleich die benötigten Stammdatenfelder dazu. Nach deiner Methode wäre das nicht zulässig.
Der Programmieraufwand wird dadurch nicht unerheblich größer.

Also Fazit:
Ich halte deinen Ansatz eher für eine Fingerübung.