Add

EnableAutoDepthStencil := true;
AutoDepthStencilFormat := D3DFMT_D16;

to your Direct3D PresentParams. Looks like you need a Z-Buffer.

Also, when you call Direct3DDevice.Clear, do it like this:

Direct3DDevice.Clear(0, nil, D3DCLEAR_TARGET or D3DCLEAR_ZBUFFER, FillColor, 1.0, 0);