Why the tube is flat in the center
The bevel object, used to bevel a curve, follows the curve's scale.

So if the scale of the curve is not homogeneous, the bevel object will appear unevenly scaled itself. To correct that, use CtrlA then 'scale' to keep the shape of the curve, and set all scaled directions equal to 1.