まず本来は所持金が足らなくて買えないはずのアイテムが買う処理に
移ってしまう現象ですが
所持金とアイテムの価格を比較している部分の不等号が逆なのと
文字変数で比較しているために正しく判別出来ません。
所持金がアイテムの価格より多くないと買えないですよね?
数値の大小は数値変数で比較して下さい。
【例】
IF "9">"1000" THEN PRINT "9は1000よりおおきい"
IF 9>1000 THEN PRINT "9は1000よりおおきい"
それぞれの結果が違うことを確認してみて下さい。
DIM W[0]
FOR BGL=0 TO 3
BGSCREEN BGL,64,64
LOAD "DAT:SC_BG1_L"+STR$(BGL),W,FALSE
BGLOAD BGL,W
NEXT
これで画面サイズ64×64のBG(レイヤー0からレイヤー3)の表示が
出来ると思います。
BG表示のプログラムは何か参考にされたモノがありましたか?
また0(ゼロ)とO(オー)の打ち間違いには気をつけましょう。