Umm.. i don't know fully the problem you had but i know Trigger Once doesn't pick instances. all it do is actually trigger your actions once the conditions become true or false.
I tried another solution which seem to work (based on a post from Arima)
Pick Xyz where IsEnabled = 1
Trigger Once
(change animation)
Else
Trigger Once
(change animation)
This variation actually work very well too. Trigger Once can act alone cause no condition mean true basically.. so if it turn out to be true it won't be executed again. But i wonder if this is safer than..
Pick Xyz where IsEnabled <> 1
Trigger Once
(change animation)
Pick Xyz where IsEnabled = 1
Trigger Once
(change animation)
For sure both doesn't do the same thing but you know that IsEnabled can be TRUE or FALSE so an ELSE might not be needed in my case. I found ELSE to be useful in toggle scenario between 2 actions.