However, LSL has a handy and easy way to bypass this. Put this little few lines of code into a script in your ring, and then when you wear it move it into position and rotate to your heart's content. Then, when you're copying over the position, touch the ring. It will send you a message telling you what the rotation is in quaternions to copy over! It's just that easy!
// This will tell you, and only you, the owner of the object, what the rotation is when you touch it. If the object is attached to you, it will be the rotating in relation to the attachment point, if in a child prim, its rotating in relation to the parent prim. Drop it in a parent prim and drop it on the ground, and it will be its rotation relative to the world. If for some reason you want to announce the rotation to everyone in the sandbox, replace the above line with llSay(0,(string)llGetLocalRot());