I switched to the 32 bit depth buffer that did not work. After further investigation I discovered that there's z-fighting or depth fighting going on. Some of the color from the other side of the cube is winning the depth test some how. I've tried some of the more basic methods for resolving the problem like adjusting the far and near planes. That did not work. So far only adjusting the perspective's field of view from D3DX_PI/4.f to D3DX_PI/3.f works but that alters the shape of the model abit too much. Any solutions? I'm going to try enabling backface culling next and adjusting the models winding order.
Okay so yeah applying back face culling was the solution. Thanks for the help Phil T.
Can anyone answer the second problem, about the model not rendering when the camera sits directly above it, along the y-axis?