Ashley
Hmmm, I'm not sure I agree with this. Width should by definition always be a positive value. Mirroring an image on a 2d plane should have no effect on the actual value. I understand that internally, mirroring may invert the width, but as a property value, width should return the measurement of an object from side to side. It's especially confusing considering that sprite rotation has no effect on the width value.
Since I can't rely on width to return a positive value for any given sprite anymore, and most of the sprite's in my game's visual state is indeterminant, it just means I have to wrap all my Width and Height calls in Math.abs statements.
I can't imagine a situation in a game where you would want to get a negative value for the width of a sprite. I guess you could argue that it lets you tell if a sprite has been flipped/mirrored, but there is already explicit conditional logic in place to check for that.
I spent almost 30 minutes trying to debug a subtle issue that when I finally managed to track it down, it was because width was negative.