I tried what you told me, but it didn�t work. Well, most of the time, that is. I�m guessing there is some kind of race condition.
I tried delaying the call to setVelocity with 10 ticks, and it turned out to work. Out of curiosity, I tuned it down to 3, and the problem was back.
I�m not sure how construct 2 uses box2d, but I am guessing that whenever an object is moved, a new box 2d body is created, but it isn�t created at once. You have to wait for the next box2d update. And so if you call setVelocity too early, you are setting the velocity on the old body.