Hi Robert,
The automatic locking will try to lock the record for a limited time (or times), depending on SET REPROCESS - see help for details on how this setting affects locking if it is not successful.
The getlock() function that you have will try... forever, until it gets the lock. Normally a getlock() function should do more: inform the user what is going on, offer some way out of an infinite loop, make a log of unsuccessful updates...
HTH
PS I believe you misuse the term client/server for the term multi user.
Doru