Jay,
My attention span is short as I am trying to solve some problems of my own, so I took a quick peek, the only two comments I have are
1) It seems to me that you are only storing the Exclusive status of the table, what about order, record pointer, relationships etc?
2) I would package the commands into a couple of functions one for saving the status and the other to restore, something like
loAlias1Status = SaveStatus('Alias1')
...
RestoreStatus(loAlias1Status)
where SaveStatus creates an object with the table name, exclusive status, record pointer etc as properties and RestoreStatus uses this object to restore it
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges