The idea above it to save the velocity, move, then set the velocity from the saved one. Basically the reason fro this is moving the object changes the velocity, which can be useful for things like using dragndrop to throw physics objects.
Alternatively the chipmunk behavior works fine with the wrap behavior by default.