mira, lo que hace ese algoritmo es inicializar el itemIndex en -1 simular que escribes todo el texto y nada más, solo hay que hacer una variante como esta, espero os resulte:
Código Delphi
[-]
procedure TForm1.Edit1Change(Sender: TObject);
var
i : integer;
begin
dblookup.keyvalue := null;
for i:= 1 to length(edit1.text) do
SendMessage(dblookup.Handle, WM_CHAR, integer(edit1.text[i]), 0);
end;