comparison of two unsigned bytes strange behavior

B) Doesn't it imply that in the "Using millis() for timing. A beginners guide" (thank you for this excellent one) a casting is missing in the examples and otherwise it actually won't handle correctly the millis overflow?

If all the terms are unsigned long, then no casts are necessary.