No es problema de PHP, porque no tienes errores de código ni sintaxis.
La consulta es la que está mal, y no es un problema de PHP, no es su culpa.
¿Estás seguro que las versiones de MySQL son las mismas en todos los servidores donde haces pruebas?
Cita: no entiendo por qué un simple ORDER BY hace que el php ya no se ejecute
No, no y no.
La consulta de SQL en PHP finalmente es una cadena de texto común y corriente, y un simple "ORDER BY" no debería cambiar su naturaleza, es ridículo que pienses eso.
Vamos, que a leguas se nota que el problema es la consulta en si por lo que nos indicas, no el código que muestras.