Had a think about this over lunch and I dont think its that its all that bad to just set the sprite properties from matrix values if you have them...
// lets say you have a 2d matrix for each sprite that you are somehow calculating yourself.
[a b c]
[d e f]
// set the position
// Get the scale (if your not scaling then you can skip this step)
sx = sign(a)*sqrt(a*a + b*b)
sy = sign(d)*sqrt(d*d + e*e)
// set the angle
Angle = atan2(-b,a) (or atan2 (d,e))
You could set up a function to do this easily for any sprite where you just give it a sprite ID and a matrix (An array in AGK) and it sets the position rotation and scale?
The method of using the world X values from the sprite is much easier though....id go with that.