Método para Lookup não retorna valores num banco acima de 1000 registros

Senhores boa noite estou enfrentando um p´roblema com o Método para Lookup, a tempos uso sem nenhum problema e utilizo em diversas aplicaçãoes, grids, reportpdf, e etc… entretanto, um cliente reclamou que determinado campo num relatório não estava sendo preenchido, achei estranho e quando fui verificar, se tratava de um campo lockup, não consegui resolver, alguem sabe como posso resolver esse problema. A tabela que esta apresentando esse problema tem mais de 5000 registros. Isso acontece quando tento recuperar registros antigos, os registros recentes não apresentaram problemas. Obrigado.

Uso em uma pp grid
SELECT id_funcionario, Nome
FROM funcionario
WHERE ativo = ‘Sim’ AND cargo = ‘Motorista’
ORDER BY Nome

Uso emn uma app reportpdf
SELECT concat(cliente.rua, ’ - ', cliente.numero, ’ - ', cliente.bairro, ’ - ', cliente.cidade, ’ - ', cliente.estado)
FROM cliente
WHERE cd_cliente = ‘{cliente.cd_cliente}’
ORDER BY rua

Att.

Está com jeito de registros órfãs ou base com índices corrompidos.
Ideal é no select principal já trazer todos os dados necessários e não usar lookups em campos.
INNER JOIN no select principal.
Um DBA ajuda nesses casos.

Obrigado, Haroldo pela ajuda. Vou estudar o assunto.