Lookup search not returning results
I have experienced a similar issue and what worked for me was enabling Enhaced Lookups for the object in question. In your case Contacts.
Click Your Name -> Setup -> Customize -> Search -> Search Settings
In my case it looked like there was some filtering going on in the lookup that prevented the user from seeing results. Enhanced lookups got things working for me.
Bowei's case: I have to turn off the enhanced lookup so that records can be displayed. I am afraid there are more bugs in this feature.
Is this Contact assigned to an Account? Contacts without Accounts in Salesforce are considered private to their Owner, and anyone with the View All Data permission. This would explain why one (presumably non-admin) user could see the contact (i.e. they are the owner) and one could not (i.e. they are not the owner).
Two things to check:
- Are you sure both users have access to the object? Have you tried the global search while logged in as the user?
- Are there any filters on the search that may be excluding the target object?