Ich würde zuerst für Sqlite stimmen, weil es kompakt, leicht und schnell ist, aber je nach Anwendung können Sie auch andere Optionen wie Firebird oder PostgreSql wählen.
Sqlite ist zum Beispiel auf einen Writer zur gleichen Zeit beschränkt, was für die meisten Desktop-Anwendungen, die von einem Benutzer verwendet werden, kein Problem darstellt, aber für weitere Anwendungen in der Zukunft nicht ausreicht.
Sie können FireBird embedded als Lösung verwenden, die sich wie Sqlite verhält, und dann zum Firebird Server wechseln, wenn Sie mehr Benutzer benötigen.
Auf der anderen Seite zwingt BlackFish Sie dazu, das .Net-Framework auf den Rechnern Ihrer Kunden zu installieren, was IMO nicht gut ist, besonders wenn Sie Ihre Anwendung über das Internet vertreiben wollen. Außerdem ist eine Lizenz erforderlich, wenn Sie mehr als eine Entwickler-Edition benötigen.