From what I can see by looking the Quest core code, a new turn section is created when the player enters a command. Whatever was output before that command is considered the last turn.
In your case, a command is never entered. You *are* using a {command} text processor command, but it's always within the context of a "get input", which is eating the command. It comes in as the result of the "get input" and is never seen by the parser. (Which is fortunate, since you'd have to implement all those commands!) So a new text section is never created.
If you use the HTML tools to look at the output in the output divs, you'll see that all your output is inside the same section. A new section is never created. There ends up not being a "last" section.
A simple way to fix it is to change this:
HidePreviousTurnOutput
to this:
StartTurnOutputSection
HidePreviousTurnOutput
That way, a new section is created and the current text then becomes the last output just before you hide it.
(BTW, thanks very much for attaching a game file exhibiting the problem. It made solving it much easier, especially since I didn't know what "Clear Previous Turn" was to begin with.)