Si no quieres realmente modificar tu diseño (lo cual te recomiendo), lo que deberás de hacer es lo siguiente :
1. Antes de refrescar tu IBTable, grabas la clave de referencia en una variable auxiliar.
2. Refrescas tu IBTable (que no sé como lo harás...), porque si utilizas el IBTable.Refresh, deberás estar colocado sobre el registro en cuestión, y no haría falta toda esta discusión (creo yo).
3. Con un IBTable.Locate de la clave guardada, te vuelves a posicionar en el registro correcto.
Lo suyo, por supuesto, es trabajar con un diseño correcto, por eso te aconsejo lo que se está debatiendo.