I have a project that potentially sits for weeks on end, but at any point could be 'triggered'.

There are various millis() based timers involved in the event while it is occurring, and the event can last a varying length of time.

I have read all over the shop that you should never reset millis(), as it's not required and might break libraries.

My question is.... why not? I cannot check for a possible rollover conflict after approx 49 days, as the event lengths change considerably.

Therefore, surely, it's just simpler to say that if the event isn't occurring, and the millis() timer is over a certain limit, then reset the millis() to zero and avoid the potential rollover mid event issue?