I really like PDO for my database access layer for the following reasons:
- Object-Oriented
- Supports Named Parameters
- Part of the PHP Core as of 5.1.0 (thx to R. Bemrose for pointing this out)
- Can be fairly easily extended to support custom features
That said, I am looking at going from my own custom wrapper for PDO that provides dynamic querying, simplified functions and the like to a full-fledged framework. I really like the Zend Framework and one benefit that I know it offers is that you can use either MySQLi or PDO with support for named parameters (something you don't get with the core mysqli library).
I will mention that though I originally started with using MySQLi, I had to switch to PDO because MySQLi had issues with large blobs. I don't know if that's still the case or not though.