Our company spent US$50K on an Oracle database and my boss forbade me from using triggers, because he wanted the application to be database independent. Never mind that we used Oracle syntax in our queries.
Also: not allowed to use Oracle's native date data type, and no foreign key constraints allowed!
How often does one actually switch between databases? I can see that yeah, some projects have a very slight change of migrating from mysql or postgres to oracle if they are really successful. But for many projects, the time and pain spent on using a database abstraction layer, or even worse building one is a total waste of time. Not that I mind using a well written ORM like active record, the benefits from that doesn't come mostly from that it's database agnostic.
When you have many clients each with a diff database. All other times the argument is moot.