Randy, thank you for the detailed responses! I read the whole thing and will re-read. Seems like using a kinematic body would solve a lot of problems. However, it would not allow physics bodies to push the player (like in the Trine 2 link I posted above), correct? That's probably ok for most people though.
That is an instance where rolling your own physics might make things easier. Part of the physics is doing raycasts to make sure your objects don't penetrate the level by moving them until they don't touch. Doing the same checks against a moving enemy will push them away from said enemy.
There is nothing wrong with using Box2D to handle collisions but if you want a 'realistic' platformer that behaves like most people are familiar with then then you should do the movement yourself. Real physics make the characters a bit floaty and off because the movement is familiar.