dhenin,
It sounds like you are looking for a way to limit a specific user to run the program only one session at a time, but also allow other users to run it - one session at a time - for each user.
If that's the case, the best way is to do this was suggested by gs001 with a little change. You will need to create a .dbf file for each user that needs to run the program. The .dbf file can be only one field in length, and have zero records. So, if you have two users, John and Jane that uses the program, create john.dbf and jane.dbf files. When the user runs the program, have it try to open their named .dbf file exclusively. You can determin who is using the program by a function call to: netname().
This should work all the time without fail. The other option gs001 suggested - user.txt - would work too, unless the program crashed and didn't get a chance to clear the user.txt file when it terminated. This will cause you to have to delete that file everytime the program terminates unsuccessfully. Excedrin headache number 47.
Using the .dbf files, when the program crashes and the computer is re-booted, the .dbf file is able to be opened again by the same user, but only one session at a time.
Piece of cake
Kelly