actually, could you post the constant buffers in your main app?
This might not be the problem, but just check it out. Are you making sure you are packaging your constant buffers correctly in your app? the shader takes 16 byte chunks for the constant buffer, so if you have a variable that's split between two chunks, it will cause problems. float variables are 4 bytes, float3's are 12 bytes, matrices are 16 bytes. I see you have it aligned correctly in the shader, so i'm guessing it's probably the same for your app, but double check.