El
OR debería ser parte de la cadena.
Trata de hacer la cadena mas fácil de manejar, tal vez puedas usar format:
Código Delphi
[-]
DSpacientes.dataset.Filter := '';
if not Trim(Ebuscapacientes.Text).IsEmpty then
DSpacientes.dataset.Filter := Format('([nombres] like ''%%%0:s%%'') or ([apellidos] like ''%%%:0s%%'') or ([cedula] like ''%%%:0s%%'')', [Trim(Ebuscapacientes.text)]);