Thanks for all the suggestions everyone. I think that as it is my first proper game engine project I won't focus on the cross platform element, although the way I plan to code it would make it relatively conducive to porting when it is finished.
Okay, now i'm sure it has something to do with the depth. When I rotate the object before I do the first render pass 90 degrees the render appears completely 2D with all the triangles drawn on top of each other! It seems the closer to 90 degrees it is drawn the more of a 2D view you seem to get. I hope this helps.
Could someone please tell me what I have to do to solve this as it has been bugging me for a while now. As for the matrices you asked for, the matrix I posted previously is the only one I am using which is the models transform matrix (The bottom right element should be a 1 rather than a 0).