Yes, i was wondering about 'where' i placed my display code processing in the main loop and whether i'm missing something by 1 cycle etc.I cannot see any obvious reason that it wouldn't keep accurate count or why one would interact with the other.
Does it work correctly when you remove your display interfacing code ?
It could be because you are updating your displays every loop rather than only when the values have changed.
I'll remove my code sections and just focus on your main loop wih equations and monitor the terminal for any funny changes that i saw today.
I'll send my update tomorrow once i know more ;-)