For some reason your boxes aren't pushing apart from one another even though there seems to be significant penetration. Are you handling the bias term appropriately? With no friction you should not have any torque if you land one box onto another from such a short height, if you have enough solver iterations.
Try checking your code against the code in Box2D Lite. There you have a full working example and should be able to identify any hard to catch mathematical errors (like forgetting to normalize something, or scale something).
I'd look at your source code but just don't have the time, so if you're stuck you have to keep trying new avenues of debugging.
Edit: Oh you disabled stabilization? Well then of course you're going to get results like this. If one point is solved without proper convergence you will get a divergent simulation, and without bias it cannot get enough energy to correct the slightly uneven contact points.
Usually when debugging this kind of code it's good to disable features and isolate problems, but that won't help you if you don't understand how this will impact the simulation (as in since you don't know what to expect you don't know what is correct).
Even with re-enabled stabilization the side moving is still doing its thing - but it takes a lot longer to move the boxes.
Also i have 10 solver iterations whichs should be enough to get it stable for such a simple case.