Dmitry,
Forgive me if I have the wrong end of the stick, but if a table already is open in your datasession, won't another attempt to USE it even with a different alias throw a "file is in use" error? Don't you have to use the AGAIN clause if you want to open it again?
IOW all you have to do is USE your table and CATCH the "file in use" error if it's already open. If it is already open under a different alias from the one you want, you can USE AGAIN to open it with the alias you want.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1