Klar, DBF-Dateien kann man mit jedem Programm lesen. Deshalb ist es auch eine gute Wahl, um Daten zu exportieren. Wieso muss man dann aber dieses fehleranfällige Format zum Speichern der Daten benutzen? Du schreibst ja selbst, das die Gefahr besteht, Daten zu verlieren.
Ich würde z.B. SQLite ins Auge fassen, um die Daten lokal zu speichern. Auch Firebird Embedded ist eine gute Wahl.
Bei wenigen Daten (also so 1000 oder 5000) und wenigen Tabellen (<10) reicht auch ein TClientDataset und das native
XML-Format. Aber
SQL hat man dann nicht.
Eine andere Möglichkeit wäre ein TDataset mit in-Memory
SQL-Fähigkeiten, wie z.B. das alte TjanSQL (wobei ich nicht weiss, ob das noch kompatibel ist).
Mein persönlicher Favorit wäre allerdings SQLite oder
FB Embedded, wobei ich SQLite den Vorzug geben würde (bei kleineren
DB), weil der Footprint kleiner ist.
Natürlich gibt es bestimmt auch andere Desktop-Formate (
Access mag ich immer noch).