グラフィック関連の命令で色を指定する際はRGB各256段階で指定するようになっていますが、実際にプチコン上で表示出来る色がRGB各32段階でしかないことが原因で起こります。
描画された時点で端数(8で割った余り)の情報が消えてしまうため、GSPOITで再度取得した際のRGBの各値は (元の値 AND 248)の結果となってしまうので、比較なんかを行う際には注意が必要です。
IF A==(RGB(255,0,0) AND &HFFF8F8F8) THEN ○○
としてはどうでしょうか?8で割った余りの部分は0になって
しまうので比較する方もこの部分は0として扱うって事なら
判定できると思います。
または
DEF GSPRGB(R,G,B)
RETURN RGB(R,G,B) AND &HFFF8F8F8
END
というユーザー関数を作って
IF A==GSPRGB(255,0,0) THEN ○○
とする方法もあります。