Pero a ver....
El usuario pulsa Logoff... pero ¿donde?
Se supone que el usuario pulsa un botón que dice Logoff
en tu programa de BBDD, pero en realidad lo que hace tu programa de BBDD es cerrarse él (Application.Terminate, o bien cerrar el Form Principal), y puesto que el lanzador está esperando ese momento,
el lanzador es el que continúa su ejecución y
hace el Logoff del sistema.
¿no quedamos en eso?
saludos