I am using a right handed coordinate system for my world coordinates (so, positive x goes right, y is up, and z is towards you).
However, after projection and the w divide, nomalised device coordinates range from [-1,1] on x and y, with x pointing right, and y pointing up, and z ranging [0,1] (or [-1,1] in OpenGL) pointing into the screen. This is a left handed coordinate system.
As such, wouldn't the winding order you need to use swap? If my models define front faces using clockwise winding, then it would seem that you must cull clockwise faces in order for the hidden faces to be removed after projection. I don't remember having to do this in XNA (where I wasn't calculating my own matrices and just left the defaults), so have I made a mistake in my reasoning here?