Animation not playing if Play() calls on Animator are in quick succession

I’m running into a brick wall here. I’m writing an MMORPG and what’s happening is the server will issue commands to the clients so that players and NPCs around you can perform certain actions. One such action is to tell a humanoid type creature to begin an animation via mechanim Animator.Play(). There are some rare circumstances where the server will issue another animation command in quick succession. The client may see these two Plays in a single frame in those rare instances. The server may say “RUN!” and then quickly say “IDLE!!” right after.
When this happens, Unity gets confused and continues to play the 1st animation (RUN). Even if I stop first and then play, it doesn’t matter. Nothing will work (short of using some logic to queue up the 2nd anim command for the next frame. But I don’t want to do this because a player might witness a fast “glitchy” looking blurb of animation from one frame to the next.)
A good example of when this happens is when you paralyze a human NPC. My server currently has the NPC auto-attack when it sees he/she is being attacked so it starts running. Then, because of the paralyze spell, the server says to return to idle. I know I could overhaul my logic on the server side and make sure (that only for the paralyze spell I make sure auto-attack doesn’t broadcast a “run”) but I really do want to figure out this animation issue nonetheless. It really seems like a Unity bug. I should be able to change my mind about which animation to play.

Depending when those Play calls are made during the frame, the result might not happen until the next frame (or be overwritten by subsequent calls on the next frame). Make sure that all your calls are made during the Update phase.

Otherwise, please make a bug report with a reasonably small repro project (not the whole game, and ideally a scene that doesn’t require the server to run.)