I have tweaked my trick, and now consider it perfectly legal. I think it mght be interesting to those who had the same problem.
So, first, I modified quadratic matrix H by adding to it a diagonal matrix with very small diagonal values. Specifically, I used 10^(-15). I passed otherwise unchanged problem to qp. The result was some

, which I immediately used as an initial value for the original optimization problem (with original H).
The result. The first optimization converged in under 200 steps for N=10 in 100% cases. It converged in 99.99% cases for N=100. The latter optimization frequently took just 1 iteration, though occasionally I saw it take more than 100. It did converge in 100% cases. My E_in became consistently 0, and my b's differed by magnitude of the order less than 10^(-8) in 99.99% cases (and I don't believe the outlier influenced my averages all that much).
I believe the trick is legal, because all I do is I find a better initial value of

, but then still solve the same optimization problem.