You can avoid this problem by applying the changes directly to the datatable.
private void SyncfusionGridControl_TableControlCheckBoxClick(object sender, GridTableControlCellClickEventArgs e) {
this.gridGroupingControl1.CurrencyManager.EndCurrentEdit();
GridTableCellStyleInfo style = e.TableControl.GetTableViewStyleInfo(e.Inner.RowIndex, e.Inner.ColIndex);
int index = e.TableControl.Table.FilteredRecords.IndexOf(style.TableCellIdentity.DisplayElement.GetRecord() as GridRecord);
if(index > -1)
{
this.dt.DefaultView[index]["Col0"] = ! (bool)this.dt.DefaultView[index]["Col0"];
e.Inner.Cancel = true;
}
}