Al cambiar el valor "rotation" de un Sprite en Flex, este se hace a partir del punto 0,0. Investigando en Google sobre el problema, he visto varias personas con este problema, y la solución más cercana a lo que busco ha sido esta:
Código PHP:
public function addRotation(spr:Sprite, angle:Number):void
{
var p:Point = new Point(spr.width/2, spr.height/2);
var m:Matrix = new Matrix();
m.translate(-p.x, -p.y);
m.rotate (angle * (Math.PI/180));
m.translate(p.x, p.y);
m.concat(spr.transform.matrix);
spr.transform.matrix = m;
}