Hola,
Veamos, mysql_query() te devuelve false si se produjo un error en la ejecucion de la consulta. Ese false se evalua igual que 0. En caso de delete, mysql_query() devuelve true si se ejecuto correctamente sin errores. True se evalua a 1.
Pero que no haya ningun registro que cumpla la condicion no es un error de ejecucion, asi que exista o no ese nombre, mysql_query() devolvera true.
Para ver si se ha borrado algun registro, debes usar la funcion mysql_affected_rows() (
www.php.net/mysql_affected_rows). En este caso, si esa funcion devuelve 0 quiere decir que no se borro ningun registro, asi que no existe el nombre.
Saludos.