millis(), how to detect overflow (after +/-50 days)?

Just do the arithmetic for yourself, using unsigned variables.
Unsigned shorts will demonstrate the solution if you don't want to wait even 70 minutes for micros to rollover.