Mark,
Take Cetin's advice, you don't want the grid referring to the ActiveRow property on every refresh of every row in the visible area. Any reference to the ActiveRow property seems to recalculate the current row by reading the entire RecordSource of the grid. If you used ActiveRow this way I think you would find you could press the down arrow and then go make coffee and come back just about when the next record was active :-)