Free extra life
Horace is given three lives before a game starts (see 60D3), but not long after the game has started he's awarded an extra life, which is not supposed to happen until the score hits 10,000. This is caused by the section of code at 65D3, which miscalculates the 10,000s digit of the current score.
POKE 26079,61
Broken guard counter
The counter at 6B0A is supposed to hold the number of guards in play minus one, and is used by the routine at 69A4 to produce a timing delay in place of a bell sound. However, because of a bug in the routine at 696C, the counter is unlikely to be accurate.
POKE 27007,179
Game slowdown
When Horace reaches the 29th maze, the game might slow down significantly, making it barely playable.
This can happen because the routine at 69A4 produces a timing delay (D) of 26*(350+30*S-128*G)+5 T states, where 'S' is the value of the game speed parameter at 7C62 (1-8), and 'G' is the value of the active guard counter at 6B0A (0-3). When S>1, 681<=D<=15345; but when S=1 and G=3, D=65437 (mod 65536).
However, one reason the slowdown might not happen is that the active guard counter is broken, and so 'G' might not be 3 even when all four guards are in play.
How many lives?
If Horace does well enough to get 10 lives remaining, that number is printed as ':' (which follows '9' in the character set) instead of '10'. This is because the section of code at 65F8 cannot handle a number with two or more digits.
Who ate my lunch?
In some situations, a guard will eat the flowers or even another guard's lunch if Horace hasn't already.
This can happen because the routine at 6C95 clears a maze background tile in a guard's buffer if there is a guard sprite tile at the corresponding location in the maze; so if two guards are close together and moving in the same direction, the one following effectively mops up the items that are obscured by the one in front.