Ahh, I guess that makes sense. Since the w componenet is not initialized, the mul() function will fail.
To avoid it you could initialize your vector as follows:
float4 PosImageSpace = (float4)0;
I will still recommend you to try compiling your shader using fxc in debug mode, as you can get much better error descriptions that way. You can even set up a custom build step that lets you right click the .fx file and compile it without having to compile the entire solution/project.
To compile the shader using fxc in a debug configuration:
fxc /Od /Zi /T fx_3_0 /Fo Directional_Lighting_Shader_Defaul.fxo Directional_Lighting_Shader_Defaul.fx
You can find fxc in C:\Program Files\Microsoft DirectX SDK\Utilities\bin
To set up a custom build step in Visual Studio check this sample from the DirectX SDK and also check this site
Also check this article on msdn about using fxc.