Ok so there's a few problems here, in no particular order"
Don't use physics unless your whole project is physics based (or you really really know what you're doing).
Your platform with the sine shaking is probably causing multiple collisions and resets. It is often
Avoid using wait, it simply delays the actions and doesn't stop events from running in the meantime. Better to use timers and timer triggers for anything that needs to happen over time.
Using instance variables along with the timer behavior to keep track of the state of various objects could be useful as well. I put together an example for you, hope this helps. dropbox.com/s/2uigcteg6sam753/fallingplatformexample.c3p