El error es bastante simple.
Mira la condición que has puesto:
Código:
if(((hr>=22)&&(hr<=0))&&(mn<30)){
Ese código dice: "Si (hr es mayor que 22) y a la vez (hr es menor que 0)..."
Si encuentras un número que sea mayor que 22 y menor que 0, avisa rápido, tendremos que cambiar todas las matemáticas del mundo!
Más seriamente: Como te dije, para las horas de finalización deberías poner 24: "Si (hr > 22) Y (hr <24)"