saftmeister
Nutze den Saft!
Zu dem PreparedStatement:
Nachteile kenne ich bisher noch keine.
Ein großer Nachteil ist, das man sich mit der Materie auseinander setzen muss. Das Wissen darüber ist nicht so leicht zu vermitteln, wie mysql_query/fetch_* und Konsorten. Ich habe noch die Hoffnung, das der ganze mysql_*-Kram irgendwann aus dem Standard raus fliegt und nur noch PDO drin ist.
Zum Thema Security-by-Obscurity: Es mag schön sein, zu verschleiern, das auf dem Webserver kein PHP läuft, in dem man die Header-Ausgaben entfernt. Unsinnig ist es jedoch, wenn man dann seine Dateien über index.php, foo.php, bar.php ... erreichbar macht.
Grundsätzlich bin ich ein Gegner von SbO. Stattdessen die Web-Applikation sicher machen.
Schau dir mal folgendes Konzept an:
http://framework.zend.com/docs/quickstart/create-your-project
Insbesondere der Teil, in dem die Verzeichnisstruktur erläutert wird. "public" ist dein DocumentRoot, jeder Aufruf mittels .htaccess an die index.php weitergeleitet, die widerum es an einen sog. Front-Controller weiterleitet, der die richtigen Controller kennt. In "public" findest du dann nur noch CSS und Bilder, und was sonst noch "freigegeben" sein soll.