I know how to create bounding boxes both in 2D and 3D so thats not my problem.

Problem is that since you do not have any access to or any way to retrieve the actual vertex data inside of ID3DXSprite, it's impossible to make your bounding box fit the new orientation of your object.

Let's say you have a long thin vertical sprite. When it rotates 90 degrees it is obviously larger horizontally than vertically. Yet if you computed the bounding box simply using the width and height of the surface - when it is rotated that bounding box is way off. The ideal way would be to rotate, scale, and translate and re-compute the bounding box. The box will still be axially aligned but it will shrink/warp to fit the new orientation of your object.

Is there any way to do this save for re-computing the vertexes inside of the class manually? These vertexes would not be used for drawing but rather for computation of the new AABB or axially aligned bounding box.