Ok, I am going to give some more detail so I don't sound like a total noob.
I am creating an object builder (as part of my game's world builder) where you can add single sprites to a larger group to form a larger more complex object.
What I do is I add each sprite (with their own position and rotation about their origin point) to the group. I take the sprites geometry to create new geometry for the group using the offset position and rotation (with the offset rotation set to 0, because
as I said in the post above that setting it to the rotation, or relative rotation doesn't have the desired effect) to make sure the geometry is in the right position. Then I can alter the groups position and rotation as I wish.
Unfortunately this didn't quite work out as the sprites rotation is updated based on it's geometry (so that it moves with the group), and the sprites original rotation is lost.
So I added a 'texture' rotation to the sprite, and when moving the geometry over to the new body, set the texture rotation to the sprites rotation so as to preserve the rotation that was lost.
This worked fine for the initial creation of the group, but when cloning the group, or editing the sprites within the group, things were a little cross-eyed. To fix it, I added the sprites rotation to the texture rotation and that worked for the editing
of the sprites, but when cloning the group, it was over rotated... so to compensate, I used the rotation offset at -sprite.rotation... this worked for everything but loading the group in from a file...
so I think this pick at it till it works thing I was doing has lead me off the simple elegant solution I am sure exists... and I was hoping someone could help me find it.
Let me know if more explanation (or pictures) are needed.