Hi,
the action SetPosition will set the position you feed it with, so it's likely prior that you have a logical issue.
SetPosition has an "Everyframe" option, so you can update that everyframe indeed.
How do you compute the reaching position?
I would use MoveTowards, and set the distance limit to 0. Have you tried that?
To fake y movement, have a child from the moving object on the ground, that you animate up and down. at the start of the step up get the distance to the target, and normalize that to 1, you can then use a curve to sample the height, the curve would be normalize too, so that you can use a multiplier for the final height, when walking or running for example. Your IK target will be that child.
Bye,
Jean