Birşeyler anlatmaya çalışmışsın emeğine sağlık ama yanlış anlatmışsın :) Kesinlikle yanlış bir anlatım. Senin yazdığın bu fonksiyon; belirlediğin kelimeleri gelen verileri içinden süzüyor. Yanlış çünkü;

1- Kelime engelleme rahatça bypass ediliyor
2- Kullanıcının masumca gönderdiği bi mesejın içinde bu kelimeler varsa silip karşı tarafa iletecek. Farzımisal bi hosting firmasının; üyen sana "select delete çalışmıyor lütfen yardım edin" diye mesaj gönderemeyecek.

Yanlış anlaşılma olmasın; amacım karalamak değil. Yanlış bilgilendirmeden korumak. SQL Injection hakında temel olarak nasıl koruma sağlayacığını bu konuda anlatmıştım : http://wmaraci.com/forum/php/sql-injection-saldirilari-korunma-yontemleri-112621.html