Bueno, yo pienso que no podemos reemplazar tantos caracteres por una cadena vacía, no puedo llegar donde el cliente y decirle: "no puedes escribir > < @ porque esos datos no te los guarda"
La solución depende de varios factores, por ejemplo, si uso SQL Server como backend entonces utilizo procedimientos almacenados y los parámetros se los paso por objectos Command
También podrías "escapar" los caracteres (en caso que la aplicación sea web), por ejemplo:
Cita: cTxt = Replace(cTxt, "<", "<+;")
cTxt = Replace(cTxt, ">", ">+;")
cTxt = Replace(cTxt, "insert", "i+;n+;s+;e+;r+;t+;")
cTxt = Replace(cTxt, "delete", "d+;e+;l+;e+;t+;e+;")
cTxt = Replace(cTxt, "drop", "d+;r+;o+;p+;")
Quita el caracter + del código, lo agregue porque el foro reemplaza las cadenas escapadas por el resultado de la misma
El problema real está en la comilla sencilla, podrías reemplazar o de igual forma escapar lo reemplazar por dos comillas.