Hmm, it might a downgrade-path hack. As in, when blocks are destroyed, some of them will go through visibly different stages, each stage is a step on the path. Think doors, cars, wooden spikes etc etc.
That is setup something like
(when a block is destroyed, check if it has a downgrade)
(if it does, replace the current block with that block)
Now, obviously, if you set the downgrade block into the original, you'll get your old block replaced by a fresh copy, and end up having a loop => neverending mining.
Sample from a car:
blocks.xml(22503)
<property name="DowngradeBlock" value="cntCar03Sedan3WideDamage2v06"/>