Agreed, having a dependencies on positioning kills a creative session - especially when you don't know (or forget) that a tool has a dependency for this or that...
Maybe when you choose "flat", I can default to the world z axis direction, but show a button underneath it that says "Set flat dir", and if you push it let you pick 2 points to define the direction.