Why is this UV map going horribly wrong?
The issue here is the angle from which you performed the Cylindrical projection. UV projections behaves differently according to the angle from which you're looking at your model. In this case, you should project from the angle that represents the length of your cylindrical object, which in your case is the top view.



You can also simply use the UV unwrap (U > Unwrap) to get a nice map according to the seams you created: