Technically, Sulu still failed. He failed to save the Kobayashi Maru's crew. That is one of the primary objectives of the test. Regardless of the theoretical ramifications that may have happened if he did not do so, those people still would have died and that would have been on Sulu.
He was also not given command of the Excelsior because of what he did on the test, the test is given to Cadets, not Captains. It may have played some part in getting him the command, but it was not a deciding factor.
This point is invalid, you crossed into the Neutral Zone first, without permission. That's all the enemy cares about, especially a war based enemy that is just looking for a reason to fight you.
Like I said before, the real test is how you conduct yourself at the end of the test. Not about what you say, but how you say it. That's all StarFleet cares about.