It looks like the grid.UpdateMode could be set to OnUpdate (instead of the OnRowChangeOrLostFocus default) to avoid an automatic AcceptChanges. That keeps the dirty marker on dirty rows until explicitly calling Update.
I have another question though.
I have a grid using a DataSet as the DataSource. Is there a way to prevent the grid from removing the rows that're slated for deletion (dataRow.RowState == Deleted). I tried changing the DataTable's DefaultView.RowStateFilter to Current | Deleted. But that doesn't seem to be making a difference.
–yale