@deckingman Well the fix is simple. You just accumulate the E steps converting them from relative to absolute, like the other axes and then you don't lose anything as each move is rounded to the nearest microstep but the total stays accurate.
Or alternatively carry forward the rounding errors:-
0.4 no step, carry 0.4.
0.8 step, carry -0.2
0.2 no step, carry 0.2
0.6 step, carry -0.4
0.0 no step carry 0.0
repeat, so every five 0.4 steps we should move two microsteps.
That's more or less what RRF does, although the code to do that didn't work properly in older versions. I fixed it in firmware 2.02.