Animation Event on zero length animation!

This relates to another question I have, but may have a different, un-related solution.

If I have two animations. Each has a single ‘frame’ at time zero. I’d like to transition between those two states over a specific duration (using Transition Duration). Imagine I’m fading a sprite in/out. However, if I add an animation event at time zero - it never gets called.

In relation to my other question, what I would really want, is for the animation event to be called only after the transition is complete.

Using transitions should allow you to create a bunch of states and then elegantly transition between them. But it seems broken.

Since transition can occur at any moment and are unrelated to animation clip and animation event I would suggest you to use StateMachineBehaviour.
http://docs.unity3d.com/ScriptReference/StateMachineBehaviour.html
And simply override the method OnStateExit and call from there your special code to handle this

This way you will be sure that you will always get this event when this state exit even if you do a dynamic transition with Animator.Play/CrossFade