Ho risolto il problema aggiungendo un controllo "BindingManagerBase" , al che assegnandolgi il bindingContext della form su cui deve agire, al momento del salvataggio lo sposto avanti di una posizione e poi lo faccio tornare indietro alla posizione originale, in tal modo vengono forzati i changedState nelle row del dataset. Grazie a tutti. Per chi ne avesse bisogno ditemelo che posto il codice.