I've discovered I lack the brainpower to think this through in detail, so I'll just make some more observations.
Suppose you open the form and then drag the thumb/tab down to Bobson Dugnutt, who's way off the bottom of the screen. Here are some of the things that will happen:
1. Every record from Jerry Aiggins (second in the visible list) to the last in the visible list when Bobson Dugnutt is first will be painted.
2. Because Me.CurrentSectionTop will always be greater than 0 (because of the header), Me.Recordset.Move will always occur.
3. Because of the header, Me.Recordset.Move will always move to the record one position before the first in the visible list (that's how the formula "-Round(Me.CurrentSectionTop / Me.Section(acDetail).Height" will work out).
4. Because Me.Recordset.Move will bring into view the new current record if it isn't already in the visible list, another series of paintings will be triggered (as per 1 above).
Sorry I can't do better.