Wichtig: Im Unterschied zum END von Oberon (oder auch dem Semikolon bei C) ist das NEXT in Basic nicht das syntaktische Kennzeichen für das Ende der FOR-Schleife, sondern eine eigenständige. konkrete Anweisung für sich: Suche im Stapel nach einer Sprungadresse, die mit der Variablen I verknüpft ist und springe dahin. Dieses Verhalten ist aber laufzeitabhängig und kann daher nicht vom Compiler in ein paar (Prozessor-)Befehle übersetzt werden. In Pascal, C, Python usw. ist dies jerdoch möglich, da dort jede Schleife ein genau definiertes Ende hat, und END keine Anweisung ist.
Auch QB haut dir das um die Ohren, das waren nur die primitiven Zeilennummerinterpreter die dir das durchgehen haben lassen.