Detaching an Animated Limb?

I have an animated spider made from cubes. If you shoot a leg, its transform.parent will be set to null, and the RigidBody component will be added. This makes the leg break off and enter the scene with physics, as expected. However, the leg will still receive animation data from the parent it’s no longer attached to.

One solution I’ve found is to clone the detached leg using Instantiate(), then delete the original. But this will cause all references to the original leg to be lost, and it incurs some unnecessary overhead.

Is there an alternative that doesn’t require me to delete the original leg?

What I did for limb-removal where i needed to ‘remember’ the limb, was just to scale the offending limb down to zero (using transform.localScale = Vector3.zero).