I had a Unionville Tiger Moth that could be put into and out of a flat spin at will.
I would pitch up slowly to lose airspeed, and just before stalling, would give it hard aileron and rudder together. So long as I held the rudder, it would flat spin beautifully. As soon as the rudder was released, it would straighten out and fly.
My record was, I think, 35 rotations.
Recently I rebuilt the same airplane, with slight modifications. (see
http://www.members.shaw.ca/ccflyers/funfly.htm) The biggest difference is that the CG is now where it is supposed to be. It won't spin.
I'm not sure it was a true flat spin. It's just that the Tiger Moth has a very small fin, and a huge rudder. When there is lots of throw in the rudder, it effectively disappears in the spin as a stabilizing force. As soon as it is returned to neutral, it stops the rotation. That's my theory, for what it's worth.