When I release the item, I set it to MOVABLE = 1, and .decayable = true, after which it then promptly decays.
This suggests to me that the decaytimer for the item keeps running even if the item is set to non-decayable, and as such will be instantly removed the second it's set back to decayable. I've tried boosting the decaytimer back up with the .decaytime JS property before making the item decayable again, but no luck