Jeff K. -
My sketch avoids cumulative error by calculating the exact "theoretical" position for each move, and then converting that to an integer "step position". Subtracting the previous "step position" gives the required number of steps for each new increment.
Before writing the code I modeled this in a spreadsheet and tested different numbers of divisions. Here are the calculations for 7 divisions (note: 3200 steps per 360 degrees for my set-up, so 0 and 3200 are the same position).
[FONT=DejaVu Sans Mono, monospace]Div Theoretical Actual[/FONT]
[FONT=DejaVu Sans Mono, monospace]0 0.000 0 [/FONT]
[FONT=DejaVu Sans Mono, monospace]1 457.143 457 [/FONT]
[FONT=DejaVu Sans Mono, monospace]2 914.286 914 [/FONT]
[FONT=DejaVu Sans Mono, monospace]3 1371.429 1371 [/FONT]
[FONT=DejaVu Sans Mono, monospace]4 1828.571 1829 [/FONT]
[FONT=DejaVu Sans Mono, monospace]5 2285.714 2286 [/FONT]
[FONT=DejaVu Sans Mono, monospace]6 2742.857 2743 [/FONT]
[FONT=DejaVu Sans Mono, monospace]7 3200.000 3200[/FONT]