your grouping might be off. you probably have the nad's tranlations not reset and nested in some groups or under some joints.. so when you parint cosntrain the ball thinks it is maintaining the offset. I couldn't say for sure though as its a complex problem. but try makeing 2 cubes just in the world space and parint constrain one to the other to make sure the offset really is working properly.