Con lo que respecta al bucle, parece todo correcto, prueba a mirar lo de la capacidad que te comentaba anteriormente
Lo del SetKey, prueba a cambiarlo por un FindKey (nunca he utilizado el SetKey, pero con FindKey no he tenido ningún problema)
Código:
Table2.Open;
Table2.FindKey([Edit1.text]);