XML als Datenbankersatz? Das ist nur ein (wenn auch sehr gut)
strukturiertes Textdateiformat, alle Datenbank"intelligenz" müsste also
in der von Dir verwendeten XML-Bibliothek liegen. Da XML selbst kein
Datenbankformat ist, ist zu bezweifeln, daß die XML-Bibliothek da
besonders viel Unterstützung liefert.
Für kleine "single-user"-Anwendungen (nur ein Programm greift auf die
Datenbank zu) eignet sich SQLite, das kann seine Daten wahlweise in
einzelnen Dateien oder sogar nur im Arbeitsspeicher halten, und wird als
Library zum Programm gelinkt. Für Delphi sollte es ein Binding geben,
notfalls musst Du eine DLL verwenden.
Vorteil: Du kannst SQL-Statements verwenden, um auf Deine Datensätze
zuzugreifen und musst nicht einen XML-Parser um datenbankartige
Funktionen erweitern.
SQLite ist public domain
http://www.sqlite.org/
Und hier sind Interfaces zu anderen Programmiersprachen als C
aufgelistet, auch einige für Delphi:
http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers