I think using BegEdit/EndEdit will only slow things down. I do not think adding it will speed things up even if the current record does not change.
If the changes are made to the datasource from outside the grid, the grid should just handle this changes automatically and you should not have to do anything (this is assuming your datasource is a IBindingList object as the grid listens to IBindingList.ListChanged to monitor and react to external changes to the datasource).
If you are making changes directly through the grid object, then doing record.BeginEdit and record.EndEdit slows things down.
Here is a little sample that has 2 buttons, one doing 500 updates directly to the datasource and the other doing 500 updates through the GridRecord. This second test case allows you to optionally call Begin/EndEdit. And using Begin/EndEdit is by far the slowest behavior.
WindowsApplication19.zip