"> .. <" cases are generally a bad idea in such a time sensitive case.
Using a secondary variable as already suggested is (IMO) the correct approach, I do that too.
my.anim +...
if(my.anim < 80) my.do_action = 1;
else
{
if(my.do_action)
{
my.do_action = 0;
... do something
}
}
Using fps_min is not the worst idea, in general. I have it set to 15 and I make sure everything works fine (including flying projectiles/ movement/ moving platforms/ ...) at that low framerate, and with fps_min the code and gameplay will work on all systems with a non-zero FPS that way.
Btw. if you really need something to start at let's say (anim == 80), then increase it to that value first (with a limit to 80), then do your action and continue up to 100 after that.