I would recommend adding a visual "step" by "step" debug system, so you clearly see when something goes wrong.
You can just use a bool to force to simulate one step or even step a single body pair. Its really hard to solve physics problems when you just look at the final output.
Render your bounding boxes + orientation and render your contact points inluding the surface normal and penetration distance. Start simple like dirk already recommended and build up from there.
Also making a realtime dragging tool to move/rotate two bodies around at realtime helps a lot!
I made such stuff in the past for javascript if you are interested: http://root.xenorate.com/final/jsstuff/