The posture I have taken follows much along the lines of 2 fairly recognizable people in this industry we are in - Rasmus Lerdorf, author of PHP, and Jeremy Zawodny, next to Monty Widenius one of the most prolific MySQL evangelists to ever live. When these 2 guys start talking about database abstraction layers, it's good to listen.

That post was referenced in another that has links to some other discussions
Shedding the abstraction layer dogma was somewhat difficult early on, but with the advent of the new mysqli extension in PHP, things got a little easier, and nicer.
I had a strain of an abstraction layer a friend of mine wrote a few years back that I tweaked for efficiency and ran it, head to head, against a pure mysqli class implementation. The results were quite astonishing. I never really appreciated tyhe cost in terms of overhead my abstraction layer cost me. As a sidenote to the exercise, I ran the same test pitting MySQLi against ADODB. Those results were even more astonishing. I used to have big respect for ADODB, for all the wrong reasons. The test was a real eye opener. ADODB, when compared to pure MySQLi class code, brutalized my application overhead. It was orders of magnitude slower even across the most basic of functionality. Now it could be that in the case of the layer I had writtem, it just wasn't written very well - but who cares. The raw speed difference was enough for me.
Something worth thinking about and talking about, still.
Mike