[SOLVED] draw order when rendering several instances of a model.

Sounds like your depth buffer states are not being set correctly. Try doing as Tom suggests in this thread:

That is the “clever way”, ie make use of the GPU’s built-in depth read/write functionality. The most efficient way to render opaque objects is to sort them from closest to furthest. This is because the pixel shader does not need to run for any pixels already written to the screen with a smaller depth value.

For semi-opaque objects you need to use alpha blending and render them from furthest to closest to avoid sorting artefacts. It’s common to store scene geometry in multiple lists and sort them relative to the camera depending on their opaque/transparent state.