Ok couple of updates.
I never got AABB culling working but I think I found out why. Switching to bounding spheres also did not work right. Objects would display then suddenly cull out and never come back.
I printed out the positions of all the objects and found nothing out of whack. When I printed the world coords of the bounding sphere's everything went crazy.
I was essentially doing this:
Code:
...
D3DXVECTOR3 trans;
D3DXMatrixTranslation(&matTrans,trans.x,trans.y,trans.z);
D3DXVec3TransformCoord(&m_vecPos,&m_vecPos,&matTrans);
...
The meshes always started in model space around 0.0f,0.0f,0.0f and thus a translation would translate them to their world space. However the AABBs and Spheres would start in model space only once and then their world space coords would be set. So the next time through I thought I was performing a model space to world space transform, but in reality it was a translation from one world location to another world location using the current location as the translation vector. The solution is to either keep the AABBs and spheres in model space and thus the world transform then works as expected just like the meshes or only update the AABBs and sphere's world coords when they change.
Thanks all for your help.