Doing some more research into this game, there seems to be some extra code ran in case a loop occurs, here's the subroutine responsible for that

Language: asm

```
8503: DD 7E 06 LD A, (IX+06h) AF:0054 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485784 cnP-H-Zse
8506: DD BE 02 CP (IX+02h) AF:0154 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485803 cnP-H-Zse
8509: C8 RET Z AF:019B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485822 CNp3H-zSe
850A: 3A 8E 72 LD A, (728Eh) AF:019B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485827 CNp3H-zSe
850D: FE 02 CP 02h AF:019B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485840 CNp3H-zSe
850F: 28 26 JR Z, +26h AF:0193 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485847 CNp-H-zSe
8511: DD 7E 02 LD A, (IX+02h) AF:0193 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485854 CNp-H-zSe
8514: DD 77 06 LD (IX+06h), A AF:0993 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485873 CNp-H-zSe
8517: 3D DEC A AF:0993 BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485892 CNp-H-zSe
8518: 28 1D JR Z, +1Dh AF:080B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485896 CNp3h-zse
851A: 3A 84 72 LD A, (7284h) AF:080B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485903 CNp3h-zse
851D: 06 03 LD B, 03h AF:040B BC:0000 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485916 CNp3h-zse
851F: FE 01 CP 01h AF:040B BC:0300 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485923 CNp3h-zse
8521: 28 08 JR Z, +08h AF:0402 BC:0300 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485930 cNp-h-zse
8523: 06 04 LD B, 04h AF:0402 BC:0300 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485937 cNp-h-zse
8525: FE 04 CP 04h AF:0402 BC:0400 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485944 cNp-h-zse
8527: 38 02 JR C, +02h AF:0442 BC:0400 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485951 cNp-h-Zse
8529: 06 05 LD B, 05h AF:0442 BC:0400 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485958 cNp-h-Zse
852B: DD 7E 03 LD A, (IX+03h) AF:0442 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485965 cNp-h-Zse
852E: B8 CP B AF:0442 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485984 cNp-h-Zse
852F: 30 06 JR NC, +06h AF:0493 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485988 CNp-H-zSe
8531: DD 34 03 INC (IX+03h) AF:0493 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124485995 CNp-H-zSe
8534: DD 34 04 INC (IX+04h) AF:0401 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124486018 Cnp-h-zse
8537: AF XOR A AF:0401 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124486041 Cnp-h-zse
8538: C9 RET AF:0044 BC:0500 DE:0003 HL:72E6 IX:7291 IY:729E SP:73BA Cy:124486045 cnP-h-Zse
```

Most of this is fluff, the main prize is at the end where some counters are maybe incremented. 0x7293 contains the difficulty counter (this can be seen easily as you are given the choice of starting at 1 to 4 for difficulty before the game begins). Another prize is the final check for aborting doing these increments: the difficulty increase is aborted if the difficulty counter is >= 5, thereby capping the difficulty to 5.
I suppose this means that a single "loop" in terms of game logic is 8 rounds. Assuming the TAS starts on difficulty 4, it would need to do a second loop for the "hardest" difficulty, after which the game will forever loop with the same difficulty.
I suppose given this, there are three options a TAS could go for:
1. Do all unique levels (so 4 rounds).
2. Do 1 full loop (so 8 rounds).
3. Play until difficulty stops increasing (so 16 rounds).
1 is enough for publication here, 3 would obsolete, not sure about 2 (this is an odd case not clearly defined by the rules). This current submission doesn't fit these however as it opts to do a "second loop" and doing a 5th round as a result (in reality, this is a partial loop of course). So it could be trimmed to the 4th round, or opt to do the 2nd/3rd options here.