As I have seen and been ask around several forums, this one question keeps coming up. " Can I change the registration point of a object with scripting." The answer is Yes & No. Got you confused? Well you can not physically in run time change it, but you can lie to you viewer/flash player to think it is some where its not.

Now I will take you away from the wall and put you out of pain.
The code is small and uses a function to achieve this.
This is the function:
function origin()
{
var bounds = this.getBounds(this._parent);
return ({x: (bounds.xMin + bounds.xMax) / 2, y: (bounds.yMin + bounds.yMax) / 2});
}
Now what we will do is for this example we will rotate an object so you will see the function at work.
This is setting up your rotation:
onClipEvent (load)
{
this.rotation_speed = 2;
this.rotation_origin = origin();
}
Now we need to create a loop to keep this running:
onClipEvent (enterFrame)
{
this._rotation = this._rotation + rotation_speed;
var curr_origin = origin();
this._x = this._x + (this.rotation_origin.x - curr_origin.x);
this._y = this._y + (this.rotation_origin.y - curr_origin.y);
}
All this code is set inside a sprite so now draw a box and name it box.
Convert it to a sprite.
Now go to Transform and set your registration point to custom and enter X: -69.65 Y: -78.8.
Now test. If you did everthing right it will rotate as if your Res.Point was set to center.
Hope this helps.
Wayne