I need to be able to update values of a dataset once a cell loses focus from editing. I know when the cell loses focus (CellEditEnding), but problem is, the actual updating
Simply jump to any other control of your dialog by calling [control].Focus(). Do this inside the OnClosing() event.
The LostFocus is the default update trigger for the data cell. But the window itself and also the border or title of the window (and there the system button "X") cannot get a focus. That's why the editing is not end.