Je vais donner une réponse un tout petit peu différente : Non.
A savoir que cela dépend comment tu l'utilises. Si tu n'as aucune intervention de variables dans la construction de ta requête, à priori, tu n'as pas de peur à avoir. Mais tu peux très bien faire ta requête ainsi :
sans utiliser la préparation de requête. Tu me diras, c'est évident, mais il faut le préciser.
Maintenant, comme le dit katagoto, à priori, s'il n'y a pas de faille, les requêtes préparées sont stables et sécurisées. Concernant les types, c'est à toi de préciser les bons types des champs lorsque tu injectes les données, ainsi, même si les données sont incorrectes en entrées, elles seront bien typées dans le requête. Mais dans les deux cas, ce n'est pas un problème de sécurité, mais seulement de fiabilité des données.
Si bug il doit y avoir, je pense qu'il sera au niveau du programme en lui-même. Ce n'est pas parce qu'on utilise des requêtes préparées que le programme va être sécure. Les failles viennent du programmeur lui-même, à savoir des failles directes, qui vont permettre à quelqu'un de directement modifier des données (injections SQL) voire faire exécuter du code (failles eval ou includes), ou indirectement, par exemple en fournissant des données exotiques pour exploiter des erreurs de traitement du programme (S'inscrire sous un login admin, mettre du html dans des champs texte). Les requêtes préparées ne sont donc que des outils.
Après, sur la question même de la sécurité des requêtes préparées, j'ai peu de doutes, mais on peut inviter d'autres personnes à donner leur avis…