もう1つあった。3.に関連するんだけど、マップチップのアニメーションか
何かさせてるのかなーと。

4.
サーフェスに対して読み書きするときに、座標指定で、自分でポインタのアドレス計算してませんか?
そのときに、横幅に解像度を指定してません?(640とか。)
サーフェスのキャプションで横幅に必要なバイト数が返ってくるので、それ使わないとダメですよ。
ビデオカードや画面の解像度が違うと必要なバイト数が違ってくるので。