¡Hola!
No he manejado los componentes FIBPlus, pero creo que se te ha presentado ese problema algo común ya y por el cual pocos se preocupan. Me he dado cuenta que muchas veces se opta por usar un "Refresh" de todo el listado, lo cual, como bien has señalado, es pesado.
En caso de que por sí mismos los FIBPlus no tengan la siguiente característica, te invito a usar
TClientDataSet, ya que una ventaja más de este estupendo componente nativo es su capacidad de eliminar e insertar filas en su cursor de memoria, gracias a lo cual puedes realizar una especie de
RefreshRecord consultante.
En este otro hilo
StartKill llevo a cabo una exitosa implementación de ese mecanismo:
http://www.clubdelphi.com/foros/showthread.php?t=62154
Espero haber orientado.
Saludos.
Al.