I m actually set up a bouncing ball using the stretch to constraint. but once key frame i cant reset user transform. so basically that means that i can t find back the first position and get back with an object with no deformation at all. Is that normal?
I presume you applied a Stretch To to a bone?
Once you insert a key all following frames keep the same value for that key (if you keyframe LocRot, for example, all following frames will have that same location and rotation for that bone). It only changes when you insert a new frame.
A Stretch To constraint deforms a bone based entirely upon the location of the target. To fix the squash, restore the target object to the same position (relative to the ball) that it was before stretching, and key its location.
You can copy and paste bone loc/rot/size data using the little buttons with the arrows pointing to and away from a flat block on the 3D View header bar. -->| saves the current loc/rot/size of the selected bone(s). <–| pastes the saved loc/rot/size.
Hope this helps.
 This all applies equally if you are not using an armature.
as you can clear location and clear rotattion. i was supposing that clear user transform was a short cut for clear rotation+translation+scale. But it s not working . Did i miss something about clear user transform or is there a litlle bug here?