Por lo que yo sé, en esa consulta donde solo se le pasa 1 valor y obligamos a que sea numerico, con isnumeric() lo tienes totalmente controlado.
Te busque este link sobre SQL Injection:
http://www.securiteam.com/securityre...DP0N1P76E.html
En el punto 8 dice:
For numeric value, convert it to an integer before parsing it into SQL statement. Or using ISNUMERIC to make sure it is an integer.