Honestly I don't know why it doesn't work, it should. It stops 39 pixel before the destination. You use int so all values smaller 1 will not be added, but 39 Pixel should be around 2 pixel. Without int it stops around 20 pixel before. If you change the action in event 8 to:
"Platform|Set Y to self.y + (lerp(0, abs(Platform.CurrentPosition - Platform.DestinationPosition, 0.05)"
it works. But that should be exactly what you have in your event (without int).
Maybe someone with more knowledge can help.