[....................]
Si por ejemplo quieo hacer una consulta a tal mensaje con tal id como id es numerico hago eso de:
if (isset($_GET['numero']) && ($_GET['numero'] != '') && is_numeric($_GET['numero']) {
$Pnumero = limpiain($_GET['numero']);
}
y luego la consulta con envez de $_GET['numero'] utilizo a variable $Pnumero??
Exacto, pero eso lo debes hacer con cualquier variable. Una cosa que me he fijado ahora es que es absurdo hacer el
limpiain a un campo numérico, ya que no se puede hacer SQLinjection poniendo unicamente numeros: ten encuenta el is_numeric ya descarta todo lo que no sea exclusivamente numerico. Ya estoy cambiando todos mis scripts...

Y cuando sea para mensajes privados, o el foro o cualquier cosa de estas deberia utilizar este codigo:?
Sipe. Como norma general: usa la funcion limpiain para todas las variables de texto (ni binarias, ni numericas, solo cadenas o ficheros que sólo contengan texto), y pasa
siempre cada una de las variables que vengan del exterior (tipo $_POST, $_GET) a una nueva (sean del tipo que sean).
Si tienes mas dudas, ya sabes

Saludos, M