(1) Are there any new developments
done on the embedded version by the
FireBird community?
Yes, both the embedded and the client-server version are very active projects.
Using the same embedded version dll for ADO.NET for example, you can use the most recent version of the firebird engine dlls, even if the ADO.NET Firebird provider is not build for that version, but for a previous.
Check the issue tracker here: http://tracker.firebirdsql.org/secure/Dashboard.jspa
(2) Are there any database file repair
& optimize (shrink etc.) features in
it?
Yes, as described here: http://www.firebirdfaq.org/faq324/. You need to install the client-server version of firebird to use GFIX and GBAK from the command line. It is just a few megabytes.
Firebird does not have a "Compacting" feauture to shrink the database. You need to backup and then restore the database to do this. However you can use a firebird database for years without backup/restore (if you are lucky and the hard disk does not die). The only thing that you might need to do is to recalculate all indeces selectivity as described here: http://www.firebirdsql.org/dotnetfirebird/blog/2005/03/improving-query-performance-through.html
(3) Does it supports Triggers, Foreign
Keys, PL/SQL type of things etc.?
Yes. The 2.5 version of the embedded engine also supports accessing the same database file from different proccess at the same time.