A simple clock in FORTH
A comment in

: get-elapsed-time  ( ud -- ud )


seems wrong. The code leaves the elapsed time on top of the otherwise unchanged stack, so the action is really (-- ud).

The way get-elapsed-time leaves a double results in very unnerving drop in hhmmss. and 24-hours-elapsed?. I strongly recommend to make it leave a single integer instead.

I also recommend to reduce stack manipulations with

: get-elapsed-time
    utime
    2over
    d- drop ;





  Is it bad style for words like move-clock-seconds-back to return flags


Yes. It makes it very hard to reuse them in other contexts. Consider (untested)

    begin key dup [char] q &lt;&gt; while
        case
            ....
        endcase
    repeat