Dude--
En el primer caso, la consulta al tener una sintaxis correcta, va a devolver cero registros. (No se realmente que devuelve mysql cuando no encuentra registros).
Tu asumes que el valor que retorna una consulta cuando no hay registros es null. Sin embargo no se sabe a ciencia cierta que valor devuelve.
Por el contrario, con count(*) sabemos que si devuelve cero, no encontró registros que concuerden con la consulta (Que creo es lo que necesitas) si devuelve uno, quiere decir que ha encontrado registros con esas condiciones que planteas en la consulta.
PD: Ya te funciona bien?