Cita: Hice el siguiente codigo php y resulta que en local me funciona bien pero cuando lo subo al servidor no.
Sucede que estás usando código PHP para comparar fechas almacenadas en MySQL y eso sencillamente es incorrecto.
¿Por qué?
Pues ya lo has experimentado, puedes cambiar la fecha del servidor y eso afectará a PHP pero no a los datos almacenados en MySQL.
De ahí tu error.
¿Solución?
Usar únicamente SQL para comparar fechas.