とりあえず2つ間違っていますね。 一つはやっぱり判定の方向が逆です。右側を調べないといけないところで左側を調べていたりします。 あとはBGGETでMX1,MY1をベースに調べていますがキャラを表示している位置(SPOFS)はMX1-X, MY1-Yなので、ベースもこのXとYを引いた位置にしないといけないです。 その2箇所を直せばちゃんと当たるようになりますよ。