Your observation is correct. That is why I suggested a hidden form. That
way, any other form that is closed will not affect what you are doing.
Now, another cute trick that works off this hidden form thing. It has been
observed and stated by some Access Gurus that an Access application performs
faster if there is a persistent connection to the back end database. That
means, when you start up, open some table and keep it open as long as the
application is running. So, if you are using a hidden form, then you can
open a table (I use a one row meaningless table), and close it in your form's
Close event.
Now let's get really crazy!!! Say you want the ability to force all users
out of your application. Put a timer event in the hidden form (say once
every minute or so) and when the timer fires (in the form Timer event) read
the one field in the one record in the table and if it says "LOGOFF" or
whatever value you want to use, Warn the user you are shutting down the
application. Then you can have a counter in the timer event that keeps track
of how many mintues it has been since LOGOFF was detected, and when that time
expires, close the application.