La sentencia update, que es procesada por el servidor, está más allá del alcance del BDE y de IBX (salvo que este último tenga algun método callback, cosa que dudo mucho). Ahora, sobre el commitretaining, tengo entendido que lo que hace es refrescar los registros de la base de datos, y quizas lo haga ineficientemente. Necesitas realmente que ese refresco se realice? si no, utiliza simplemente commit. En un test como el que haces, la diferenia entre el BDE e IBX debiera ser imperceptible... pues el grueso del proceso se lleva a cabo en el servidor.
Hasta luego.