if (dr.RowState == DataRowState.Modified), it comes back false. The rowstate appears unchanged.
My guess here is that the DataBinding that you're using is set to OnValidation, which means that the value will not be pushed to the underlying source until the control loses focus (i.e. its Validating/Validated logic is performed). What you could do is set the binding to OnPropertyChanged:
this.ultraOptionSet1.DataBindings.Add("Value", this.myDataSource, "", false, DataSourceUpdateMode.OnPropertyChanged);
-Matt
I changed the binding to OnPropertyChanged and the behavior is still the same.