In order to build shaders for Windows Store apps (and Windows Phone 8) Shader model 4_0_level_9_3 you need to use the vs_4_0_level_9_3 and ps_4_0_level_9_3 . While all this sounds fine using the HLSL syntax designed for DirectX 10 and up, I'm unable to use the VPOS semantic from DirectX 9 or use SV_POSITION from DirectX 10 and up in a pixel shader, so what do I do besides making yet another semantic for outputting the vertex position in clip space ?
PS: Some shaders on 4_0_level_9_3 spit out an "internal error: blob content mismatch between level9 and d3d10 shader" which I have no idea what is about. Probably some inconsistency with the driver I suppose ( I use an Nvidia GTX 560 TI) that I see it goes away if you just compile your shaders with release flags (like optimization level 3 and avoid flow control).