I want to tell the player his/her health via the DrawText function, but the only problem is that by doing so it messes with the how the meshes are drawn. What I mean by that is it seems like the square in the back is being drawn in front of the one in front. For example:

When firing missiles it looks like this
Direct3D 10 DrawText function screws with depth.-4f9cad7a7ae79-jpg
Instead of this
Direct3D 10 DrawText function screws with depth.-4f9caeb6b583f-jpg

And the "aliens" look like this
Direct3D 10 DrawText function screws with depth.-4f9cafb39c0ec-jpg
Instead of this (ignore the missile)
Direct3D 10 DrawText function screws with depth.-4f9cb05bed716-jpg

Here is my code
Code:
//Render function
void BimanEngine::Render()
{
	//Clear the render target view
	m_pD3DDevice->ClearRenderTargetView(m_pRenderTargetView, D3DXCOLOR(0.02f, 0.04f, 0.2f, 0.0f));
	//Clear the depth/stencil view
	m_pD3DDevice->ClearDepthStencilView(m_pDepthStencilView, D3D10_CLEAR_DEPTH|D3D10_CLEAR_STENCIL, 1.0f, 0);

	GamePaint();

	m_pSwapChain->Present(0, 0);
}

//GamePaint function
void GamePaint()
{
	g_pGame->GetDevice()->IASetInputLayout(g_pInputLayout);
	for(auto it = g_pAliens.begin(); it != g_pAliens.end(); it++)
		(*it)->Draw();

	for(auto it = gMissiles.begin(); it != gMissiles.end(); it++)
		(*it).pModel->Draw();

	//Display the health
	g_pGame->GetFontSprite()->Begin(D3DX10_SPRITE_SORT_TEXTURE);
	TCHAR szHealth[64];
	wsprintf(szHealth, TEXT("Health: %d"), g_iHealth);
	g_pGame->DrawText(szHealth, 10, 10, D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f));
	g_pGame->GetFontSprite()->End();
}

//Draw text function
void BimanEngine::DrawText(LPCWSTR szText, int x, int y, D3DXCOLOR TextColor)
{
	RECT rect = {x, y, 0, 0};
	
	//Display rect
	HRESULT hr = m_pFont->DrawText(m_pFontSprite, szText, -1, &rect, DT_NOCLIP, TextColor);
	if(FAILED(hr))
		Error(TEXT("DrawText Failed"));
}

//The Draw function
void ModelObject::Draw()
{
	//Make sure the mesh is valid
	if(!m_pMesh)
		return;

	//Render the object
	D3D10_TECHNIQUE_DESC TechniqueDesc;
	m_pTechnique->GetDesc(&TechniqueDesc);

	for(UINT p = 0; p < TechniqueDesc.Passes; ++p)
	{
		m_pTechnique->GetPassByIndex(p)->Apply(0);
		
		//Draw the mesh
		m_pMesh->DrawSubset(0);
	}
}
Thank you.