How to make "child of" stay in place?

I am just making a simple animation where someone picks something up which is rigged and I use a child of constraint on the part of the armature to be picked up by the character. What I’m wondering is how I can make a rig keep the same pose it’s in at 100% child of influence AFTER I set the influence to 0, because it keeps just transforming back to its original location before the child of constraint was put on it.

Old, but still valid.

Here is a script (it’s at the bottom in the comments) and a nice walk-through.

Yeah I’m not really sure what’s going on in that flurry of info but I found ctrl+A visual transform does the trick if I then set the influence to zero.