Wow, nearly 1,000,000 points. I am in awe. Just as well SQLServerCentral didn't use even a smallint for that (and they should watch out if it is numeric(6,0)...).
I had originally completely overlooked the possibility of someone changing the ResendCount AFTER the resends had been done - making the derived count of resends available negative. Anomaly, well, not really, perfectly reasonable real-world behaviour, settable through the user interface. In fact, after this I reviewed the counts and reduced quite a few (after ensuring it would be happy with negative retries), so you are slightly correct in as much as it brought it to my attention and improved things overall. But I'll certainly be more careful with TinyInt in future.