つまり、TImageでTImage.Canvasをアクセスして自動的に作られた TBitmap.Canvasにアクセスしてるんだよね。
そうすると、Picture.OnChangeが設定されてしまっていて、一部でも書き換えたら、TImage全体が書き換えられてしまう。

一番簡単な対策は、TImageを使わずに、フォーム直接か TPaintBoxに描画する事だと思うけど。
つまり、TPaintBox.OnPaintで TBitmapを全部表示して
普段は、その一部だけ書き換える。