I know this is an old post.
I was looking for this, I had the same question.
I typed out my questions and everything, I even posted them.
I then I realized the solution, so I edited this to give it.
You have to reverse the play speed of the animation.
I have my speed set to a Variable.
So when I need to reverse an animation I did this.
Set animation speed to -abs(SpeedVariable)
abs is "Absolute Value". It is a mathematical expression.
What it does is turn negative numbers positive.
So if you have a declining slope like this:
3, 2, 1, 0, -1, -2, -3
Using abs() will give you:
3, 2, 1, 0, 1, 2, 3
By putting a "-" in front of abs() it makes every number negative, like this:
-3, -2, -1, 0, -1, -2, -3
Therefore it reverses the animation speed.
You can then use Conditions
"Compare frame", "Compare speed", and "Is playing" to do what you need.
* Zero will always be 0. Zero can't be negative nor positive*