PaulS:
You could have the ISR use two bytes, and emulate an int. Increment the "low order byte". If it overflows, increment the "high order byte". If the high order byte overflows, you're screwed anyway.
Is there any difference between that, and using an actual int? Either way, it's no longer safe to assume that increments are atomic.