Ya veo, yo nunca trabaje en profundidad con los eventos de los DataSet; mas bien prefiero moverme usando comandos sql y querys; pero eso es tema aparte
Solo se me ocurren tres cosas:
1. Algun problema de transacciones, sobre todo debido a "parece que todo va bien, hasta que..vuelvo a abrir y no se aplicaron los cambios"
2. Segun la documentacion, en el evento
OnUpdateRecord hay que asignar un valor al parametro AAction; si todo va bien, deberia setearse al valor
eaApplied
3. La propiedad
OldValue de
TField solo funciona si se usan
Cached Updates, tal como lo dice la
documentacion
En este enalce se explica todo sobre
Cached Updates con FireDAC