If it's behaving funny, this is an example of a work-around I did for changing position of a physics object and keeping its speed, maybe something like this could help when trying to change the speed that the object is moving:
+ Object: Object overlaps TeleportA
+ System: Trigger once
-> Object: Set 'VelocityX' to Object[Physics].VelocityX
-> Object: Set 'VelocityY' to Object[Physics].VelocityY
-> Object: Set immovable: Yes
-> Object: Set position to object TeleportB (image point 0)
-> Object: Set immovable: No
-> Object: Set velocity to (Object.Value('VelocityX'), Object.Value('VelocityY'))
However, I will try to make a cap doing what I think you're looking for when I get some time!