I watched the offset blocks video and got nerd-sniped by "we don't really know why this happens". So I spent some more time on my hobby of reverse engineering this game.
When a block is hit, its collision type is set to 0 (disabled), and an actor is created to play the block-hit animation. Also, the block's bottom-left corner is converted to an integer grid square, rounding towards zero, and that square in the visual appearance grid (which is separate from collision) is set to empty.
When the animation is finished, the actor takes the x/y coordinates corresponding to its center and converts them to an integer grid square, again rounding towards zero. Then it iterates over the collision list for that grid square, searching for a block with a collision type of 0 (which would normally be the same block it was spawned from). When it finds such a block, it sets its collision type based on the type of actor (e