object return position not always the same when I define return position

I have a rigid body ball "C" which is parented to non rigid body object "A" which is rotating. When mouse down, ball "C" is unparented and gravity and force is enabled.

On ball"C" collision with anything return to original position and reparent to object "A"

Works great, except ball"C" is not always in the original position. This is how I define the original position.

var posy : Transform; // I drag an object that represents the location.

transform.position = posy.position; // When collision happens, reposition to where posy is.

I don't get why ball "C" would vary it's position when reset. Thx for any tips on what may be the issue.

I'm using Unity3 and code is .js

Since the body is not kinematic, reposition using Rigidbody.MovePosition().

As an aside, parenting a rigidbody to a non-rigid-body is bad-news-bears because it fights the constraint solver. Use a fixed-joint instead.