the demo works fine with less ligths but that uses a model not a terrain...
I know PASS_SOLID is set for the material, but try it to replace the last line of calcLightFalloff in the shader with return(float4(0,0,0,1)); to not to be transparent but intransparent black. you can also add an AlphaTestEnable = false; to both "pass one"-s in the end. moreover I don't know why ZWriteEnable is needed there.