Oh as for the shadows, I forgot to add that in the last post, you need to increase the soft size of the light and the number of samples. Lighting gets complex in Blender Render. Cycles does all this for you naturally, but in Blender internal you have to fake it. Under your light settings you need to increase the soft size to something like 1-3 and if you render then you will see no difference until you increase the samples to the left of that. Depending on how large a soft size you choose you will need at least 6 samples to get rid of the noise. This will really slow down your renders, so whenever possible use spot lights and buffer shadows.(Buffer shadows are not as accurate as raytraced shadows, but they render much quicker. I don’t fully understand lighting in blender render, so I’m the wrong one to tell you when and where to use what light, but there are tons of tutorials on this topic. Just search youtube for “blender render lighting”.
Another thing that will really slow down your render times but will add a lot of realism is environment lighting and ambient occlusion. Set them to ray trace and and set both to around .2 with the ambient occlusion set to multiply. I never did get a real good feel for falloff values and all those other settings, but if you play with those you will begin to see what they do. Usually just the standard settings make a big difference to any render. You can also bake your occlusion to a uv texture and save it as an image, but this requires that you have a uv map for everything in your scene. I haven’t done this in a long time so best to verify all that by looking at a tutorial on baking ambient occlusion.