I prefer PostgreSQL over MySQL any time. PostgreSQL has more features when it comes to SQL statements (windowing functions, recursive common table expressions) better support for constraints and indexing (e.g. partial and function based indexes).
And I'm still unsure about when the GPL license forces me to buy a commercial license - especially for commercial applications. That is another I reason I avoid MySQL - the license situation is simply too unclear and vague for me.
PostgreSQL is more complicated to setup in an environment where you need a true cluster with load balancing read and write statements.
High availability (i.e. a spare server that takes over when the main server dies) is - especially with 9.x - just as easy as with MySQL.
In terms of speed there is probably not much difference between them. Any of them can be fast and any of them can be slow. It depends on how you use it and the characteristics of your workload (PostgreSQL seems to be faster with high concurrent reads and writes - but this might have changed with MySQL 5.5 and the improved InnoDB engine).
Firebird is very powerful in terms of SQL features as well (AFAIK it was the first open source DBMS to support recursive common table expression).
My biggest concern with Firebird is the cluttered documentation. Due to licensing issues there is no single large manual, but it is a collection of the original Interbase manuals plus the release notes for each version. So if you need to check a certain syntax you start with the Interbase manual, then check the release notes for FB 1.5, then FB 2.0, then FB 2.1. A bit clumsy, but the team is working on that and the documentation is improving (still can't match the PostgreSQL or MySQL manual).
I'm not a big fan of ORMs anyway, and I have never used PostgreSQL with .Net as I only use Java. So I cannot comment on that