Walt I have a suggestion for an "overkill" damage solution. This might be what @borS meant, but just in case I'll ask anyway.
borS In this case, is it possible to release additional damage in another, simpler way, when the part is destroyed?
To the example in the form of an explosion (Explosion of an overheated part. In the real world, this happens with ultrafast heating), or the transfer of damage to attached parts.
What if the targeted part (like armor, factory, etc.) instead of the ion beam calculated explosion size and power based on incoming overkill damage? (Overkill damage is the amount of damage that passes the max health of the part. For example, if an ion core deals 4100 damage to a 4000 health armor block, 100 damage would be "overkill damage".) Parts already store data on whether they explode or not (like reactors, for instance), so could they be changed to all have their default explosion force value (parts that don't normally explode could have an explosion force of zero), then adapt their explosion force based on overkill damage (perhaps calculating the explosion a frame before being destroyed: the more negative health of the part, the more explosion force)? In the previous example, with this solution the 100 overkill damage would result in the armor creating a small explosion a frame before destruction based on the received damage, not the damage the beam sent. An additional benefit of this proposal would be that any weapon could trigger an explosion, so dynamic explosions would be compatible with current weapons, any new weapons added in the future and even modded weapons without any extra effort.
Again, this might be what borS meant, but just wanted to propose this in case it helps. π