I think the problem may be how fast you have them falling. You have it so that As soon as you collied with the object it makes it fall. Try adding a timer.
So it could be like
On Collision with Block and Platform
+ Set Variable falling to 1.
Platform variable = 1
Every 1000 Millisecond
add 1 to variable Timer.
Timer greater than Strength
Fall block set y = y-2
so you would need to add private variables for strength and Timer...
Now for the respawn:
The original problem was you had the platforms spawning at themselves.
So here is a bit of code that I think will have the desired effect.
+Every 2000 Milliseconds
+ Platform does not overlap Placer
>Placer set Overlapped to 0
+ Placer: 'Overlapped' Equal to 0
> SystemCreate object Fallblock 0 on layer 1 at (0, 0) from Placer 1 's pivot point
> PlacerSet 'Overlapped' to 1
The two other events are sub events and Overlapped is a Private variable in the Placer object. This lets construct know which one to pick. Hope this helped I have a cap with the respawn done but I gave you all the code if you want to see it I can upload it later. Hope it all works out.
To make the block fall right that is the code except Make another collision object without the solid box checked on. And set it so that it always sets it to player.x and player.y+ any amount that puts it where his feet would be. Set that object so that when it overlaps it set the timer to go off.