The timer keeps on ticking when the game is paused or freeze flag is active, which can cause unintended effects. In case of death, the game will lock up. You should add a check for pause and freeze flag ($13D4 and $9D respectively).
-The timer doesn't reset propertly, always setting tens and ones to zero. the problem is at lines 219 and 220, instead of STZ there should STA
-There are a few instances where minor optimizations could be done. Some examples:
--you don't need RTL after BRA, it won't trigger since we already jumped to where BRA was pointing (line 217 for example)
--instead of doing LDA.b #0 : STA $0F31|!addr you can do STZ $0F31|!addr, something you're already doing on the same line with other addresses
--if you want init to reset timer on !Reversed condition you can just put init label right next to ResetTimer label (no need to BRA to ResetTimer)