I've got 2 tables. One that contains the names of each of my databases and the date/time of the last revision and the reason for the revision. After I add the reason for the revision and prior to closing, I update a Custom database property with the current system date and time (which stays with the database). Now, if I need to know if the user has the most up-to-date version, I can either check the Custom db property programmatically or via the Help menu I pop up a form that gives me information such as the date/time of the last revision, name of the computer, where the tables are linked, etc.
I have another table that contains the name of the computer, a new version flag, database name (optionally, a Broadcast message flag, a shut down flag, primary user of the computer, user's phone number and office location). At startup, the program checks to see if the computer has been "registered" (i.e. record contains name of computer). If not, then I pop up a form and have the user enter the required information. If the computer is already registered I check the newversion flag. If it's set, I launch a batch job and exit the current db. The batch job copies a new version of the database to the user's machine, and restarts the db. Also at startup I open a form (hidden) that runs on a timer. And every so many minutes it checks to see if a message is to be broadcast to the user's machine (i.e. system going down in 5 minutes). It also checks to see if the db should shut down (i.e. user didn't log out as asked so I log the user off via Application.quit). By having individual flags for each computer (i.e. newversion flag, broadcast message flag, etc), you can control who gets the new version or a broacast message. Say, for example, you have a new version that you want just a few user's to have to that they can test it. With this method you can set the flag for just the pc's you want to have the new version.
One nice thing about keeping track of the primary user and phone number, etc is if I need to know who's logged on, I can run a function that does that and also can display the phone no. etc in case I need to get in touch with the person.
I would put these functions and tables in a library database that can be used by other databases you develop. A library database is just another database that you reference with your current database. And you call the library functions just as if they existed in your current database. And you can add functions to your library database as needed.
Finally, although the method I described above would take a little time to implement, you can do just pieces of it as time permits. Once fully developed though, really comes in handy for other pieces you will eventually need to maintain multiple database with multiple users.