Move To node doesn't finish when key is cleared

This is part of a behavior tree for chasing a slow moving projectile BP_Actor (TargetEnergy BB key) that is destroyed on collision.

After the projectile is destroyed the upstream service will set the relevant key to None, but MoveTo will continue executing until it has reached a previous location along the projectile’s path (usually near the origin).
Is my decorator incorrect?
or is there something I don’t know about the MoveTo node?

I simplified the BT to test, and it performs the same as the original as this behavior was fairly high up the tree.

Most concerning is that on occasion, deleting and duplicating the same decorator will make the Node complete at the correct time, but only temporarily.
Should I give up on the default node and make a custom MoveTo?

Very simple.
I can post my Custom Service if that seems relevant. It is correctly clearing the value when it is invalid.

I don’t know how to delete this, but if you have a similar problem the issue was the upstream service. Though I cannot say exactly why this was happening.

The service now only runs an EQS query and if it returns anything it sets the return to the key, or clears if it fails.

Previously, the service was much longer. It checked for similar actors (an older version that used a different class, and was no longer present at all) with a specific tag after the EQS query succeeded but also if it failed. I’m thinking the strange behavior has something to do with a redundant check after an Is Not Valid which would check for the class that was no longer present, and this was somehow setting the key to None-ish? (but not really None). Otherwise I can’t explain this at all.