What is the HRESULT returned by cgD3D11LoadProgram()?
According to the debugger, the value is 0x8876086c, but again, cgGetLastErrorString returns CG_NO_ERROR after cgD3D11LoadProgram. To me, that HRESULT is pretty meaningless, but I don't think cgD3D11LoadProgram() is the issue because according to the debugger the memory address of vs (CGprogram is a pointer type) after returned from cgCreateProgramFromFile is 0x0000000e, which I suspect would not be a valid pointer location.
Edit: sorry for the multiple edits; for some reason my full response wouldn't show up.