Je ne connais que peu le système PDO mais bon je crois qu'au final ça ne change pas vraiment les choses.
Pour la sécurité, je dirais qu'il faut bien vérifier que les données textuelles le soient (htmlspecialchars partout, bah vi même sans intention de nuire ça peut foirer, il suffit que le type tape l'article (ou l"article, ça dépend des quotes utilisés)).
Pour addslashes et cie, il y a le soucis du magic_quotes actif ou non, effectivement si celui ci (qui apparemment sera supprimé donc je suppose obligera tout le monde à faire gaffe à ça) est actif et que vous faites un addslashes, vous allez faire double emploi.
Donc magic_quotes_machinchouette va faire de "l'article" -> "l\'article", et votre addslashes -> "l\\'article".
Bref ça va un peu merder à l'affichage.
Pour pallier à ce soucis, on peut vérifier que magic_quotes_gpc soit actif ou non (ATTENTION, dans le cas juste ci dessous, le ! signifie le CONTRAIRE, donc le cas où magic_quotes_gpc N'EST PAS ACTIVÉ ) :
if(!get_magic_quotes_gpc())
Alors addslashes sur la variable.
Outre les données textes, bien vérifier que les ID, restent bien des ID (donc que 1, ne devienne pas 1 AND 1=1 #, remarquez htmlspecialchars, et les fonctions anti-quotes n'auront pas le moindre effet sur ce genre d'injections (à moins que le chiffre lui même soit contenu entre des quotes mais là aussi on ne peux pas garantir la totale sécurité).