Why do bones further down the chain get stretched when a bone is rotated?
The Problem

As I suspected, this is a scaling problem. The bones distort because you have non-uniform scaling on your armature object. Select your armature object (not a bone in pose mode) and look at the scale values in the transform properties. The object is scaled by 0.5 on the Z axis. With non-uniform scaling, any transformation done in a space influenced by this object's scaling will appear distorted. In an armature's case, bones in pose mode will be distorted by the object's scale. Likewise with other objects, if you have a cube parented to an empty, the empty's scaling will affect the cube's transforms. This is all because transform "space" is inherited from parent objects. A good explanation is in Nathan Vegdahl's Humane Rigging course.

The Solution

You need to apply the scale transformation on the armature object. With the armature object selected, press Ctrl+A and choose Scale. The appearance of the bones will change (some axes look like they scale), but the overall function should remain the same. For the sake of cleanliness, I would apply rotation as well. Before applying any transforms, it would be a good idea to unbind and unparent any objects influenced by the armature. This will keep them from being influenced by the transform application and keep their position in 3D space.

For the future, it is best to always leave your armature scaling and rotation unchanged, for this exact reason. To change the size of the bones, it's best to edit the armature in edit mode, or if you're doing animation, scale the bones in pose mode instead.