Fixes T11705. I did not realize that ON DUPLICATE KEY UPDATE was order-dependent, so the "reset" clause of this IF(...) never actually worked.
Reorder it so we check if we're changing the message type first, then actually change the message type.
This makes the count reset properly when a failing repository succeeds, or a working repository fails.