Старая процедура честно пытается восстановить кусочек фона, при этом стирая спрайты над ним
Не совсем понятно. Перерисовываем фон, включен нулевой слой. И при этом стираются байты в слоях с 1 по 7 ???
Возможно придётся код перерисовки фона переписать в код обнуления в слое стираемых спрайтов.