Here, have some screenies
(http://i.imgur.com/RNC7slU.png)
(http://i.imgur.com/9exsXed.png)
(http://i.imgur.com/fKq0ir7.png)
As you can see, when the creature unburrows it has no longer 'mutation', which is what PU uses.
I managed to spot the offending part in the code
if (skill == "burrow") {
eval (targete).instantfx.gotoAndPlay("burrow");
eval (targete).statu = "invulnerable";
eval (targete).skill = "unburrow";
eval (targete).skillcost = 0;
eval (targete).burrow = 1;
if ((eval (targete).costelement == 2) or (eval (targete).costelement == 11)) {
eval (targete).atknow = Math.floor((eval (targete).atknow - _root.nightfall) / 2) + _root.nightfall;
} else {
eval (targete).atknow = Math.floor(eval (targete).atknow / 2);
}
} else if ((skill == "unburrow") and ((_root.rethp() < (_root.monitor.dmge() + 10)) or (_root.level == "pvp"))) {
eval (targete).burrow = 0;
eval (targete).instantfx.gotoAndPlay("burrow");
eval (targete).statu = "";
eval (targete).skill = "burrow";
eval (targete).skillcost = 1;
if ((eval (targete).costelement == 2) or (eval (targete).costelement == 11)) {
eval (targete).atknow = ((eval (targete).atknow - _root.nightfall) * 2) + _root.nightfall;
} else {
eval (targete).atknow = eval (targete).atknow * 2;
}
To make the burrowed creature immune to CC, its status is set to 'invunerable'. However, mutation is also a status so it gets overwritten. When you unburrow and 'invunerable' is removed, the creature goes back to have neither 'mutation' nor 'invunerable'.
This is looks like something left over from an older status system, as things like adrenaline and poison are treated separately.