...I have checks to see if I am in the floor and to move Zero accordingly when falling and such but sometimes it just seems to ignore the checks. It is something I am looking into. I also am having trouble with the corners when wall jumping. Zero like to get stuck into the corner of a wall if you land perfectly at it while falling. You easily get out by jumping but obviously that is not what the player would want to see.
Are you using Game Maker for this? Either way, I had problems just like this in some of my earlier Game Maker platformer games. But I finally found out that's it's better to make sure you can't even get into a wall in the first place, rather than moving the player out of a wall if they are in one. I accomplished this by having a loop for x and y movement. It loops the amount of times equal to the x and y speed, moving one pixel each time. This removed any problems as it allowed me to do pixel by pixel collision checking. I did this in Spirit's Quest, only I had extra code that did move you out of a wall ONLY because the character had a big head and small body, which complicated things. Without the big head, it would have no collision issues that would need to have the character pushed out of a wall.
I made a platformer game called "Tiny Man" a long time ago, and I had problems with landing perfectly in corners as well, where I had to move the player out of the walls, and it was noticeable as well. This would also be fixed with that x/y pixel-by-pixel collision checking loop. I released the SQ project and uploaded it here:
http://www.mediafire.com/?18f0bqyx60vl621 and that has the collisions and physics engine. You could check out the code and you'd be able to get an idea on what I mean by the whole x and y loop thing, if you don't already get what I mean.