Ah, que hay campos blob implicados... hummmm
En
este post hablan de algo parecido, aunque en este caso hablan de un retardo de 20 segundos para ¡¡ 19.000 registros !!
Parece que cada vez que haces el ApplyUpdates se actualizan en la BD los campos blob que no se han tocado (según el código). Lo mismo les pasaba a los del Post anterior.
Fíjate que dicen que lo solucionaron poniendo "poFetchBlobOnDemand" en el datasetProvider, y el tiempo se redujo drásticamente.
Si no es ese el problema, habrá que ver otro enfoque...
Saludos