The problems with the layer..
For the 'create object on layer' action you can either enter a layer name such as "Background" (with the quotation marks) or a number like 0 1 2 3, (without the quotation marks)
The numbers go in order so 0 is the bottom layer, 1 is the next layer up etc.
You've input a number and mistaken it for a name.. it looks right at first glance because the layer that you want is called "Layer 0" (which is actually layer number 1)
so anyway...
Create object Sprite5 on layer 0 at(sprite3.x, sprite3.y-20)
should be
Create object Sprite5 on layer "Layer 0" at(sprite3.x, sprite3.y-20)
but you should rename the layers to avoid confusion. And your sprites!