Durch LR=*on werden eben alle Daten geschrieben, da ja ein Close gemacht wird.

Allerdings ist das trotzdem nicht sicher.
Wenn dein Programm (aus welchen Gründen auch immer) mal vorzeitig abschmiert, werden die offenen Datensätze auch nicht geschrieben.

Geblockte Verarbeitung ist eben immer kritisch.