Yeah, co-planar geometry will z-fight... unless they share exactly the same vertices data and run the same vertex shader.
My experience is that you also need the very same input assembler setup, as well as the same matrices. For example:
out.Position = mul (m1, mul (m2, in.Position));
out.Position = mul (m3, in.Position);
Assume that m3 = m1 * m2. This will probably z-fight.
device->DrawPrimitive (D3DPT_TRIANGLEFAN, ....);
device->DrawIndexedPrimitive (D3DPT_TRIANGLELIST, ....);
Assume that otherwise everything is identical and these are drawing the same geometry. This will also z-fight on certain hardware (*cough* Intel *cough*).
So to slightly contradict my initial statement; it's also important to ensure that one is not in a situation that actually causes z-fighting when otherwise there would be none.