PDO jest nieco wolniejszy niż mysql_*, ale ma świetną przenośność. PDO zapewnia pojedynczy interfejs w wielu bazach danych. Oznacza to, że możesz używać wielu baz danych bez używania mysql_query dla mysql, mssql_query dla MS sql itp. Po prostu zawsze używaj czegoś takiego jak $db->query("INSERT INTO..."). Bez względu na to, jakiego sterownika DB używasz.
Tak więc w przypadku większych lub przenośnych projektów preferowane jest PDO. Nawet zend framework używa PDO.