重要なことを書き漏らしていました。(リンク先には書いているのですが) DEF内でローカル変数とグローバル変数の両方が使えるのですが、グローバル変数ではなくローカル変数として使用する場合に必ずDEF内でVAR(もしくはDIM)を使って宣言してください。 そうでないと上記のように記述した順番でローカル変数になる場合もあればグローバル変数になる場合もあるということで誤動作の要因になるためです。 要するに「グローバル変数を使いたい」という明確な意図があれば宣言せず、DEFより前にその変数を記述する(変数を宣言する)ということをすれば良いのですが、それ以外の場合はDEF内で宣言するということだけなので難しいことは何もありません。 ローカル変数とかよく分からなければとりあえず「DEFの中で宣言しておけば外部に影響を与えず自由に変数が使える」という程度の認識でOKです。