The file was removed before I had a chance to see it myself. But someone else recommended a platform engine. Here's one that's already done for you, and it will teach you how to make it yourself. Look for David N's Custom Platform Movement here:
I read the entire post, but I am still not exactly sure what the problem is or was. And now that you've stepped up to a new engine (or maybe not) I have even less clues.
But apart from that there was something with a lava pit in which the player shouldn't fall because otherwise he would die or drown in the pit.
If you're using the build in platform movement, you still have to code all the events that will occur like collisions. However there could be a problem if the background object which is an obstacle is overlapping one or more background objects which are from the platform type. I am not sure if that is the case, because I can't see this in your picture, is the red lava in front of those dark grey objects? So there is a part from the dark grey objects behind the lave? This could be your problem.
If you're using a custom platform movement or the platform movement object, you will also have to code the collisions with your player and your obstacles or platforms. So when overlapping a backdrop object stop the movement, but with a custom movement, stop subtracting a number of pixels from it's vertical position.
Hey wait, I might have just realized something: you said you were using 'collide' which only detects a collision and you probably should be using 'overlapping'. The overlapping condition checks all the time if the player is on a platform or obstacle object. The collision condition just reports a collision when you hit the object and doesn't check for the overlapping condition while you're on the object.