A ver, veamos, seguramente por estas fechas ya habras solucionado el problema, pero bueno, tal vez lo que ocurra es que no has activado la eliminacion de caras anteriores (backface culling), por lo que caras que estan lejos del observador que otras se pintan despues tapando a las que estando mas cerca han sido pintadas antes dando apariencia de que quedan caras transparentes o eliminadas.
Comprueba pues si en tu programa haces la siguiente llamada:
D3DDevice->SetRenderState( D3DRS_CULLMODE, valor );
donde valor puede ser:
D3DCULL_NONE --------> Desactiva la eliminacion de caras
D3DCULL_CCW --------> En el orden contrario a las agujas del reloj
D3DCULL_CW --------> En el orden de las agujas del reloj
Si a estas alturas sirve aun de algo, pues eso....