By making your AABB non axially aligned your throwing away one of the biggest advantages of using them; dead simple intersection testing
This algorithm works correctly. I'm wondering if there is a faster way.
Why? Even if you did this every frame for every (non-culled) object in the scene this code should never be a bottleneck in performance.
Like oNyx said; hierarchical bounding volumes would most closely approximate the principal of least cleverness. (ie check an oversize aabb first, then check bounding spheres or elipses or whatever that more closely approxmate the model.)