Blender Internal, 2.66a.
I just noticed something I never noticed before…
If I have 3 layers. Two with one object each, one with camera and lights.
I have render layer one with one object layer and the camera+light layer.
I have render layer two with the other object layer and the camera+light layer.
Why are objects on layer two casting shadows on render layer one if they are implicitly excluded?
Is this expected, a bug, or am I missing something?
In internal it’s a bit tricky.
If the layer is active - all of the objects will be seen by ray tracer, so you will get all of the shadows cast by those objects, they will reflect in other objects etc.
They will not render, but will interact.
The only way to avoid this is to change one setting in the materials of those objects:
In “Options” panel of the material you have “Traceable” turned on by default. Turn it off.
I know that this may cause other issues, but in internal this is the only way.
In cycles when you go to layers panel you get additional set of layers called: “Exclude”.
If you want objects from some layer not to be rendered and at the same time not interact with objects that you render you have to check this layer there.
In your case, as you are using internal - the first solution is the only one.
There’s another way
I worked around this issue with another method for my particular problem, of a casing with a see-through hole in it.
Obviously I masked the hole in the case and put it on one layer, to alpha over it over the machines interior.
Now the case still casts a shadow on the interior.
Enable shadow pass in layer, but exclude it from compositing (fancy button)
Now the shadow is rendered, but not composited, I can alpha over the case over the interior not having any shadow cast on it, and then throw all together again that it looks somewhat believable - BI business as usual