How to reset micros() to start/zero ?

And heck, it works. Could it be so simple, or am I going to mess up other stuff up? Just wondering...

Yes it works somewhat, just like cutting bread with a chainsaw works somewhat. With what you do, you mess up things, but depending on whether you use the messed up things or not, you won't be affected by it. And then, from time to time your code will randomly behave strangely for a moment, but I guess for your kind of application it won't matter much either. All in all, one wonders what benefit you expect from all this messing around and whether the added problems aren't worse than the problems you think you're solving.

In a commercial environment I would reject your solution as bad design. But for a school project or just a hobby, that isn't a major concern.

Korman