MySQL is always an obvious choice. You can embed it in your application so you don't need a server (you just need to include libmysqld.dll to get full database functionality).
It's powerful, fast, fairly lightweight, and when needed, you can just switch to a "normal" MySQL server without having to change your code or queries.
No installation is needed.
There's a wealth of free examples, documentation, tools and drivers available for MySQL in general, but also in combination with Delphi.
...........
Here's the checklist:
Low or no buyin cost. It has 2 licences: GPL (Free) and a commercial one
No distribution fees. As far as i know, you can redistribute it freely
Easily handle upto 35,000 records with no problems, ideally up to 100k. I'm using it with tables that have up to 30.000.000 records, and it works without sweating (if you think carefully about your queries of course)
Supports multiple tables (in this case up to 10) check
Blob support (binary objects, images, etc.) check
Can be distributed as part of the application install set. I.E. User does not have to someone else's website to download database installer. just add libmysqld.dll, and that's it
Can be installed and configured by install set with minimal user interaction. My target userbase is not technically inclined. No install needed. It embeds in your app
Reasonably fast performance. It's very fast I can tell you
Support for standard SQL statements (or something reasonably close) check
Support for multiple indexes check
Size of database installation LibMySqlD.dll is a couple of megabytes
Size of database once installed on user's system. Depends on your database of course. It's not compressed
Multi-user support No multi-user support in the embedded version as far as I know
Encryption Encrypted data files are not natively supported, but 3rd party solutions exist
Scalability If your embedded server cannot handle stuff, switching to a "normal" or external one can be done without changing code or queries
...........
Limitations:
You don't have replication or events, there's just a single InnoDB thread, there is no authentication or authorization mechanism, and only your application can access the database (makes sense for an embedded database).