Mandy,
In general, if you lock a record or a file, and another instance of your program (or another program) tries to change that record or file in any way, then there is the possibility that the other instance will appear to hang. Whether or not that happens, and for how long it happens, depends on a number of factors, not least of which is the setting of SET REPROCESS. The whole thing is somewhat complicated, so I suggest that, before going any further, you have a careful reading of the SET REPROCESS Help topic.
For what it's worth, I usually set REPROCESS to a low number (typically about five). That tells the program to try to get a lock for that number of seconds. If the lock then fails, my error routine is triggered, and that displays a friendly message to tell user what is happening and advise them to try again later. This is the basis of so-called "pessimistic locking".
However, please don't simply copy my approach. Your requirements are probably quite different from mine, so what works for me might not be the best solution for you. The important thing is to understand how it all works (start by reading the Help topic mentioned above) before you go any further.
Mike
__________________________________
Mike Lewis (Edinburgh, Scotland)
Visual FoxPro articles, tips and downloads