Global fields are unique to a user's session when in multi-user mode so a user could not overwrite another user's data or lock a record. This would only occur if the fields were not global.
Another thing to know about global fields is that whatever you last leave in them in single user mode will be what the fields default to in multi-user mode. Don't ever rely on global fields to store data.
Always have a start up script that sets these or at least one that checks that they have the proper values before running or else you could wind up with a lot of headache.
Seconding deltatango's post above and tying it to your described app,
Don't worry about users overwriting if the fields are global...for what you describe, you would WANT them to be globals.
In your described use, you would want the fields empty to start. So list the global search fields in your startup script and empty them:
Setfield (SearchTable::City;"" )
Setfield (SearchTable::Zip;"" )
Setfield (SearchTable::whatever;"" )
and so forth.
Have a great weekend!