3) is how it is supposed to look...maybe i should elaborate a little more about how shadows are created: When creating a shadow map (done when you call updateShadowMap() of the ShadowHelper), the scene (to be precise, only the shadow casters are) is rendered from the light source's point of view into a depth texture, i.e. not the color is actually rendered but the depth information only. This texture is then projected (like projective texturing does it too) into the scene and a special texture mode is used to compare the depth stored in the depth texture with the depth at the current position on screen when viewed from the light source (calculated via a matrix operation). If the depth in the texture is lower then the one calculated "on the fly", the point is in shadow. Otherwise, it isn't.
This depth-compare-operation isn't exact. I have rounding errors and precision issues. How much and on which surfaces depends on the hardware...every chip is doing this differently. This may result in what you get in 1)...a surface that shouldn't be shadowed but is a shadow caster will be partially shadowed and shows some precision artifacts that look ugly. To compensate for this, the geometry isn't calculated with default culling but with inverted culling, so that actually the back faces are being used as shadow casters, not the front faces. As long as the object is closed, this is not the problem. Then, an offset (can be adjusted in Config) is used to offset the shadow from the back faces. The result is 3), i.e. an object may shadow itself but usually not in a way that a surface recieves it's own shadow. If lighting is choosen wisely, this is not a problem because vertex lighting won't lit this surfaces anyway. The dust-demo is a good example of this: The lamp casts a shadow but doesn't recieve its own.
On to your example pics:
1) is bad, because the surfaces show accuracy problems. The offset isn't large enough for the precision of the Intel chips
2) two is even worse, because now (caused by the disabling of the culling), the front faces (as seen from the light) are covered with artifacts...bad thing!
3) is how it is supposed to look. It may not be what you expected, but it is, what i had in mind when coding it...
4) looks fine, but actually isn't what i had in mind.
However, i understand your urge to make a surface recieve its own shadow, but due to the precision problems, this isn't that easy. On monday, i'll add the option to the helper to not use the inverted culling when rendering the shadow map. This, combined with a larger offset, may lead to something like 4) on both, ATI and Intel (in this particular scene...it may look bad in others, but it's better to have the option than not to).
Hope this explains the problem a little better.