Hola El_Raso.
Si utilizas componentes TClientDataSet con dbExpress tendrás la ventaja de que al servidor no llegará ninguna sentencia SQL Update "inútil", es decir, solamente que el registro haya sufrido alguna modificación real se enviarán al servidor los cambios.
Eso te facilitaría mucho las cosas del lado del servidor, porque en la base de datos podrás usar un sencillo disparador (trigger) Before / After Update con la seguridad de que el registro realmente cambió.
En tu caso implicaría que cambies los componentes de acceso a datos que utilizas (además de asegurar un buen controlador DBX para Firebird 2.5 si tu edición de Delphi 2010 no es la Enterprise). Así que es algo que deberás considerar, junto con el tamaño de tu aplicación y el tiempo que dispongas para hacer el cambio de componentes.
Como dato interesante, decir que TClientDataSet maneja de una manera eficiente el registro de cambios. El usuario puede modificar un registro en memoria y su propiedad ChangeCount aumentará en 1, y si luego lo modifica nuevamente para dejarlo como estaba al principio, ChangeCount disminuirá en 1, aunque antes de hacer este segundo cambio se haya movido de registro o hecho más cambios en otros.
Saludos.
Al González.
