Ich würde damit sowieso nichts "sichern".
str_replace ist Case-Sensitiv - d.h. du gibst statt INSERT insert ein und schon ist der Filter umgangen.

Zudem gilt: von Anfang an richtig sauber programmieren/skripten, dann braucht man sich nicht auf solche Filter verlassen (die sowieso 1. ineffizient und 2. störend sind - stellt euch mal vor ihr schreibt ein Forum, und haut so eine Funktion über alle eure $_REQUEST-Elemente... so eine Konversation wäre dann nicht möglich, weil allein schon niemand mehr "INSERT" schreiben könnte).