Si momentaneamente sacas la @ de delante del query quizás tengas indicios del porque no devuelve resultados, quizás...
La @ es un operador que se usa para la supresión de errores, lo cual quiere decir que no mostrara el error que pueda dar la expresión que precede.
http://ar2.php.net/manual/es/languag...rorcontrol.php
Saludos