About the value of a for variable i remember something, i have used Omegasoft Pascal on OS-9/68000, from the older manual: Omegasoft 6809 Pascal Version 2 Language Handbook
--
FOR STATEMENT
for~statement = for variable := expression (to | downto)
expression do statement
( description of to and downto )
In either case if the statement is never executed then the
control variable will have the value of the first expression. If
the for statement finishes normally then the control variable
will have the value of the second expression.
--
So in any case the for variable had a defined value.
It had "Break" but was called "exit" and it could exit multiple loops like "exit(2)" to exit/break 2 inner loops.
I always liked the 68k compiler, it had static vars and external units, we used to look at the assembly code the see what would be faster or smaller