Hola,
Personalmente no me gusta mucho la idea "SuperGlobal". Si se comparten las propiedades de una clase de forma global ¿donde queda, entonces, la encapsulación? todo el trabajo de la POO lo deshacemos.
Prefiero compartir justo lo necesario y nada mas, así nada se escapará de las manos.
A mi modo de ver, esta clase TSuperGlobalObject lo que nos da es una forma cómoda y sencilla de compartir ese archivo en memoria, con poco código tenemos tanto los datos que queremos compartir como los métodos para manejarlos, queda claro que esta clase actúa únicamente como contenedor de información, sin más pretensiones. A la clase que derivé le falta implementar, éso sí, algún tratamiento de bloqueo para evitar colisiones.
Mi siguiente duda lógica sería, que pidiese el logín si se abre desde otro punto de la red.????
No sé si te he entendido bien, creo que estos mecanismos para ahorrar "logueos" al usuario sólo deben aplicarse en la misma máquina, si se conecta desde otra máquina pues a loguearse de nuevo, sin duda alguna.
Ahora bien, lo que plantea Wilson es muy cierto, ¿cómo sabes que quien abre una aplicación es Pedro y no Juanito mientras Pedro se iba a tomar un café antes de que saltara el salvapantallas?

Otra cosa es que demos por sentado que cada máquina sólo la maneja un usuario, pero quizás una forma de abordar el asunto sea el que propone Wilson de una aplicación lanzadera de las otras, y ésa es la que controla el login a la BD.
He aqui que insisto en que la BD tiene que tener el dato de activado.
Si se conecta desde la casa, red o donde sea estará activo.
Creo que es preferible solucionar el problema de caida de sistema por otro lado.
Es que no le hacéis caso al novato
Saludos
¿A cuál de los novatos te refieres?

Porque a medida que le doy vueltas al tema veo que estoy más verde

Lo de almacenar en la base de datos ese valor es un arma de doble filo, como he dicho anteriormente creo que cuando uno se conecta desde una máquina distinta debería autentificarse de nuevo, en realidad todo esto arranca de querer ahorrar trabajo al usuario, pero no hasta tales extremos. Partiendo de la base de que el logueo es un mecanismo de seguridad, el saltárnoslo debería ser sólo cuando tenemos "algunas" garantías (
algunas entre comillas), de que quien se conecta es el mismo individuo que lo hizo en la misma máquina un ratito antes, para ahorrarle faena, y aún así entraña algún riesgo (el mismo que si ese individuo se va a mear y alguien que pasaba por allí se sienta a fisgonear el programa frente a su máquina).
Saludos