Fijate este codigo que pusiste:
Solo vas a invalidar la cookie si un jugador carga una pagina con ese codigo exactamente en el segundo 0 del minuto 59 de las 23 horas. Por eso te decia mas arriba, que tienes que guardar si o si una variable de sesion (llamemosla CERRAR) que guarde por ejemplo "03/08/2009 23:59:99" que es el proximo momento desde el cual el jugador debe reloguear y tu condicion seria:
Aunque si conoces la funcion time() es mucho mas comodo