Hola freegirl,
He probado lo que dices y nada, me pasa como te ocurria anteriormente, siempre me devuelve "-1" , encuentre o no encuentre las filas.
Lo voy a dejar como comenté, que no me parece mal tampoco.
Como opinión personal, creo que igual la cosa va por las filas afectadas.
Me refiero a que INSERT, UPDATE y DELETE realizan cambios en filas, y el ExecuteNonQuery devuelve cuantas filas han sido afectadas con esos cambios, pero si la sentencia SQL es una SELECT, en principio no hay cambios en ninguna fila... Igual va por ahí.
Venga un saludo!