Originally Posted by Mrs Beanbag
Another way to deal with this issue is to draw all the bobs "behind" the tilemap, as is done in Chuck Rock and other games using that engine. Presumably (i'm guessing) it also maintains a mask as it scrolls on another invisible bitplane, and combines that mask with the bob's mask. That way, to remove the bob we can just blast it off in colour 0 using the same mask again and we don't need to worry about restoring the background at all. But, it does require combining the background mask with the bob's mask in a separate blit, so that is 2 times the bob's area, times the number of bitplanes, plus one additional blit in one bitplane. Also clearing the bob might require more DMA cycles than a straight copy.
You're wrong about Chuck Rock - it doesn't blit bobs "behind" anything. The game is dual playfield, there's a front layer that contains ground, flowers etc, and the background playfield. The enemies are blitted onto the background layer as normal, they can't be "blasted off" with colour 0 at all. Chuck is made of sprites and sits behind the front playfield, but in front of the background playfield.