おお、がんばりしたね! プログラムがわかっていれば、どうして動かなくなるか、も分かるとは思いますが、とりあえず大事なのは、カーソルがおかしな位置に移動してしまった時のYの値です。 LOCATE命令を実行する時、その値を使わないようにすればいいのです!