Cytat
1. Czy PDO posiada system cachowania zapytań? Czy też trzeba samodzielnie napisać sobie taką klasę cachującą (np. zrzucającą wynik zapytania do pliku, pamięci itp)
Nie posiada systemu cache, trzeba samemu sobie go napisać.
Cytat
2. Jak PDO prezentuje się pod względem wydajności i szybkości?
Dość sporny temat

jak dla mnie jest szybsze, a bindowanie zapytań to jest największy jego atut.
Cytat
3. Czy PDO będzie się dobrze nadawać pod kątem szybkości do średnio-zaawansowanego serwisu jak np. serwis z ogłoszeniami?
Według niektórych nie używanie PDO to grzech śmiertelny

nie mniej, nadaje się do każdego rozwiązania, obsługuje sporo typów baz danych, nie trzeba pisać nowych klas, nowych sterowników, wszystko masz gotowe i na tacy, wpisujesz jedynie odpowiednie parametry połączenia z bazą i resztą się nie martwisz. Napisanie jakiejś swojej nakładki, lub skorzystanie z już istniejących które wykorzystują podpinanie zapytań (zend_db chociażby) gwarantuje ci brak problemu ze sqlinjection.
Czego chcieć więcej?

Od czasu jak pierwszy raz spróbowałem PDO, od tamtego czasu w inny sposób nie łącze się z bazą i raczej nie wyobrażam sobie pisania swojej klasy do obsługi bazy danych, dla każdej bazy danych z osobna..