I did the same on Equilibrium. If you want play with transitions, you'll need to deal with situations like this.
I did it by my own way, doing triggers, where it play the first transition and then check a variable ON, this variable can only occur while the object is doing the while or after transition pose, if it change the pose, that trigger switch OFF, so, I advanced it by using a instance variable, where I did the name of the action, followed by what part of it the animation is, like "jump - being", so, the object will crouch a little bit and then jump, and the player can't avoid the jump.
What you have to do with your flying poses, for example, is a animation called by "being flying", then, when it finish, go to the flying animations, check the "flying being" instance variable as checked, so, when you turn the direction or anything else, it will not reproduce that animation again.
Also, I suggest you to make a debug of all your player variables on the screen, do it on a different code page, then import it, and on the start of this page, make the follow code:
Is on Preview;
Make it update every thick
Write your debug on a text box;
I hope this helped you a little bit! =]