Object on curve wont stay flat! I have attempting to make a fin tube for two days and it is killing me.

Fin tubes are pipes that have a tight spiral of flat fins sticking out all around them. The spiral wraps around the circumference of the pipe. They are used in heat reclaimers among other places.

I made a spiral using the extra shapes add-on and scales pretty tight. And then I set the scale.

I made the fin shape and set its scale. I added the curve modifier and it jumped around a bit. I set its origin point to one end face and finally got it going the right way off the beginning of the curve.

Then I added the array modifier and moved it to the top  of the stack. It all looked good for the first loop, then the fins started to tip. The outside edge aimed upward steadily as the inside edge seemed to continue to be oriented at the center base of the curve.

How can I keep the darned things at 90 degrees to the z axis? Or should I be using a particle system? I haven't learned that one yet, sigh.
If I understand correctly the deformation you are getting is cause by the spiral curve being naturally twisted itself.

You can probably minimize this by changing the curve tilt per vertex (which would be very cumbersome), or overriding it's twist mode.

In the Properties Window > Object Data (Curve) > Shape > Twisting switch it from whatever you have now to Z-Up and should ease the problem