I have a hidden form that opens via the autoexec macro and grabs the computer name. If it is the first time that computer has accessed the (mysql backend) database, it asks what name should be associated with it. One of the tables in the backend is "users" which keeps user names, computer names, and a logged in yes or no field, among others. I show the list of current users in the footer of the mainmenu. When the user exits the program and the hidden form gets closed, it unchecks the yes or no field and the list in the footer is updated. Also, with the ontimer event, I measure the time they have been logged in and ask, at the one hour point, if they are still using the program and if they don't click the "Continue" button, I warn that the program will close itself in five minutes.
This all works great, except I have a couple of users who often fail to get logged out. I have experimented on my secondary computer by opening the program and "X"ing out rather that use the big Quit button and it still works properly. I suppose if someone just pulls the power to their computer it might fail to let the code know that they were leaving, but that isn't the case here. If they just minimized it and left it running, it would close itself in 55 minutes. Any ideas how they might fail to "leave"?