10行目のIF分岐を@MAINループ内に移動したとしても、@TEKIDERUサブルーチン(@TEKIDERUからRETURNまでの部分)が現在の位置にあると、結局GOSUBで呼び出される前に実行されてRETURN without GOSUBエラーが出るので、@TEKIDERUサブルーチンは@MAINループ外、かつ@MAINループよりも下に置く必要があると思います。