I'm curious too then, for future reference.
With the second problem though, just add a correction phase between collision checking and displaying. So it checks for collision, if the collision went too far, make a correction, then display it. I've only done this for simple 2D block collisions in a very small, very uncompleted mario remake I started, but it worked.