After I add some lines of code, this happens:
Using MEKA Debugger, I caught the "offending" code. That damn $FF byte is at 0x75C00. Nearly the end of the ROM

Normally, the counter shouldn't go there.
What makes the counter go to the end of the ROM? Still I don't know, but I guess what happens. When assembling, the command line gives me these message:
Assembling...
MEM_INSERT: 2. write into $3d16 (old: $22, new: $00).
MEM_INSERT: 2. write into $3d17 (old: $11, new: $00).
MEM_INSERT: 2. write into $3d18 (old: $d5, new: $00).
MEM_INSERT: 2. write into $3d19 (old: $af, new: $00).
MEM_INSERT: 2. write into $3d1a (old: $32, new: $00).
MEM_INSERT: 2. write into $3d1b (old: $10, new: $00).
MEM_INSERT: 2. write into $3d1c (old: $d5, new: $00).
MEM_INSERT: 2. write into $3d1d (old: $18, new: $00).
MEM_INSERT: 2. write into $3d1f (old: $2a, new: $00).
MEM_INSERT: 2. write into $3d20 (old: $74, new: $00).
MEM_INSERT: 2. write into $3d21 (old: $d1, new: $00).
MEM_INSERT: 2. write into $3d22 (old: $09, new: $00).
MEM_INSERT: 2. write into $3d23 (old: $22, new: $00).
MEM_INSERT: 2. write into $3d24 (old: $11, new: $00).
MEM_INSERT: 2. write into $3d25 (old: $d5, new: $00).
MEM_INSERT: 2. write into $3d26 (old: $af, new: $00).
MEM_INSERT: 2. write into $3d27 (old: $32, new: $00).
MEM_INSERT: 2. write into $3d28 (old: $10, new: $00).
MEM_INSERT: 2. write into $3d29 (old: $d5, new: $00).
MEM_INSERT: 2. write into $3d2a (old: $2a, new: $f0).
MEM_INSERT: 2. write into $3d2b (old: $10, new: $ff).
MEM_INSERT: 2. write into $3d2c (old: $d5, new: $10).
MEM_INSERT: 2. write into $3d2d (old: $ed, new: $00).
MEM_INSERT: 2. write into $3d2e (old: $5b, new: $f0).
MEM_INSERT: 2. write into $3d2f (old: $16, new: $ff).
MEM_INSERT: 2. write into $3d30 (old: $d5, new: $10).
MEM_INSERT: 2. write into $3d31 (old: $0e, new: $00).
MEM_INSERT: 2. write into $3d32 (old: $00, new: $e0).
MEM_INSERT: 2. write into $3d33 (old: $cb, new: $ff).
MEM_INSERT: 2. write into $3d34 (old: $7a, new: $20).
MEM_INSERT: 2. write into $3d35 (old: $28, new: $00).
MEM_INSERT: 1. write into $3d36 (old: $00, new: $e0).
MEM_INSERT: 2. write into $3d37 (old: $0d, new: $ff).
MEM_INSERT: 2. write into $3d38 (old: $af, new: $20).
MEM_INSERT: 2. write into $3d39 (old: $ed, new: $00).
MEM_INSERT: 2. write into $3d3a (old: $52, new: $f0).
MEM_INSERT: 2. write into $3d3b (old: $22, new: $ff).
MEM_INSERT: 2. write into $3d3c (old: $10, new: $fc).
MEM_INSERT: 2. write into $3d3d (old: $d5, new: $ff).
MEM_INSERT: 2. write into $3d3e (old: $dd, new: $c0).
MEM_INSERT: 2. write into $3d3f (old: $7e, new: $ff).
MEM_INSERT: 2. write into $3d40 (old: $12, new: $10).
MEM_INSERT: 2. write into $3d41 (old: $99, new: $00).
MEM_INSERT: 2. write into $3d42 (old: $dd, new: $c0).
MEM_INSERT: 2. write into $3d43 (old: $77, new: $ff).
MEM_INSERT: 2. write into $3d44 (old: $12, new: $10).
MEM_INSERT: 2. write into $3d45 (old: $21, new: $00).
MEM_INSERT: 2. write into $3d48 (old: $22, new: $00).
MEM_INSERT: 2. write into $3d49 (old: $6f, new: $00).
MEM_INSERT: 2. write into $3d4a (old: $d3, new: $00).
MEM_INSERT: 2. write into $3d4b (old: $22, new: $00).
MEM_INSERT: 2. write into $3d4c (old: $16, new: $00).
MEM_INSERT: 2. write into $3d4d (old: $d5, new: $00).
MEM_INSERT: 2. write into $3d4e (old: $c9, new: $f0).
MEM_INSERT: 2. write into $7ff0 (old: $bf, new: $54).
MEM_INSERT: 2. write into $7ff1 (old: $06, new: $4d).
MEM_INSERT: 2. write into $7ff2 (old: $80, new: $52).
MEM_INSERT: 2. write into $7ff3 (old: $0e, new: $20).
MEM_INSERT: 2. write into $7ff4 (old: $be, new: $53).
MEM_INSERT: 2. write into $7ff5 (old: $ed, new: $45).
MEM_INSERT: 2. write into $7ff6 (old: $b3, new: $47).
MEM_INSERT: 2. write into $7ff7 (old: $c9, new: $41).
Free space at $13f80-$13fff.
Free space at $17e00-$17fff.
Free space at $1bfd0-$1bfff.
Free space at $1fab4-$1ffff.
Free space at $23c72-$23fff.
Free space at $27e51-$27fff.
Free space at $2b812-$2bfff.
Free space at $2fa48-$2ffff.
Free space at $33d9d-$33fff.
Free space at $37d0c-$37fff.
Free space at $3b723-$3bfff.
Free space at $3fc5e-$3ffff.
Free space at $43eda-$43fff.
Free space at $47e00-$47fff.
Free space at $4be06-$4bfff.
Free space at $4fc2a-$4ffff.
Free space at $53c60-$53fff.
Free space at $57f9a-$57fff.
Free space at $5b900-$5bfff.
Free space at $5fb06-$5ffff.
Free space at $633cc-$63fff.
Free space at $67f06-$67fff.
Free space at $6bd8a-$6bfff.
Free space at $6f719-$6ffff.
Free space at $73fac-$73fff.
Free space at $77732-$77fff.
Free space at $7bbe7-$7bfff.
Free space at $7ffe3-$7ffff.
27534 unused bytes of total 524288.
Total 524288 additional bytes (from headers and footers).
Total size 1048576 bytes.
Linking...
==========================
Build Success.
==========================
Presione una tecla para continuar . . .
So I guess there isn't space in the first two blocks (both dedicated to the main code of the game) and the assembler overwrites some bytes, causing it to crash.
I'll see if I can compress/simplify the code in some way.