Hey hey buckaroo. You're encountering two awesome Irrlicht shadow issues.
First one: "gods shadow" - Shadow over everything. When a shadow gets too far away from the camera, it covers everything in the scene. Don't know why, bad coding, who cares - there is a fix. Set the shadow color to r 0, g 0, b 0. You can add your own distance checks to make sure which nodes _should_ have shadows. (I'm curious as to if shadows are still being drawn for a node even if the node's visiblity is set to false)
Second: Ahh, z-fail method. Set it to false when adding shadows to your nodes. (check the addShadowNode(..) method, it's something like that). With z fail method set to true, only one node per mesh (for some diddly reason) can use a shadow, any other nodes using the same mesh will crash your app.
But hey, what are problems if there are work-arounds for them? I consider these issues fixed.
Hope this helps and makes some sense, I've been drinking for my late-dog-friend Cujo.
He liked beer, as long as it was in his dogbowl.
EDIT: Just took a much better look at your second screenie and noticed the artifacts, still try disabling z-fail method for shadows, it may help.