It's Fixed!
Here are the steps:
Form is running modless with index.prg updating it.
After prg updates an edit box it does oIndex.Draw(). Yes Draw, not Refresh().
I do no refresh on the grid. The grid shows the change in column 1 from Working to Done after the replace but does not scroll. After running through 20 records the prg runs:
oIndex.LockScreen = .t.
oIndex.Grid.DoScroll(1)
oIndex.LockScreen = .f.
This keeps the current record from scrolling off the screen. Without the lockscreen the current record was duplicated on the grid after the doscroll.
It runs very smoothly. The Draw method in place of the refresh() seemed to make a real difference. Don't ask me why.
Thanks to all that helped.
Beer is proof that God loves man, and wants him to be happy. - Benjamin Franklin
John J. Henn