BTW, could you paste a screenshot of your game? I am suspecting you are developing a isometric kind of game and need player to be able to walk infront of an object.
If so, dont mark the entire Sprite with Collision polygon, just make the base of the sprite solid.
See the trees on this screenshot. Instead of marking the entire tree as Solid, only the base of the tree is marked as Solid. In C2, you use the Collision polygon to mark its solid area.
Once you have done this, you dont need different layers anymore (of course floor will still be a different layer),
Just check the Y position of the each colliding objects, which ever has a greater Y value comes to Top of layer ("Move to Top of Layer" action)