BGPUT命令の_YがBG画面の高さより大きい16になっているのが原因です。 BGSCREEN命令でサイズを変更していない場合は幅、高さは画面の 大きさに合わせられるため上画面では幅25、高さ15になります。 @BGPUTを呼び出したときに_Yの値を0にしないと2回目に@BGPUTを 呼び出したときにこのような状態になります。