El problema es que estás buscando en toda la tabla en las dos búsquedas, me explico, primero buscas si existe algún PEPE, y después si existe algún GONZALEZ, entonces si existe algún PEPE MARTINEZ y ANTONIO GONZALEZ, te va a dar error.
La función locate puede encontrar un registro con varios campos de búsqueda, algo así
Código Delphi
[-]
if frmDataModule.TblUsuarios.Locate('Nombre;Apellidos',
VarArrayOf([UpperCase(Nombre), UpperCase(Apellidos)],[]) Then
Result := True;