Por lo que veo en tu función, si no me equivoco, es que estás usando la hora tipo "H:i:s" o algo similar en el campo que guardás en tu db. Lo mejor sería que guardes el timestamp actual cuando el usuario genera actividad, con time() de PHP. Y luego solo sería cuestión de hacer algo así:
Código PHP:
Ver original$rangoTiempo = time() - 3600;
$query = "UPDATE `usuarios` set status = 'Desconectado' WHERE act_time < $rangoTiempo";