> So on app startup, you'd have to go in and clear out the info for the current user, but assume the rest of the info is accurate and leave it alone.
Something along these lines would work. When each user enters the application, it could record the UserID and the macAddress (or something to identify the workstation) in a 'loggedIn' table . If the users machine locks up, when the user logs in again, it would know that a session was terminated abnormally (because a normal program termination would remove the session information from the loggedIn table). The program would then clear all locks from the user's previous session. This would be accomplished with one REPLACE statement.
If the lock information is stored in each table, it would be much more difficult to clean up after an abend.
Steve Gibson