I don't think he intended to kill Two Face so his rule still stands. If he didnt act, Gordon or his son would have been killed.
I believe his rule always applies, no matter what the situation. He could have let the Joker fall to his death in self defense or whatever, but he didn't. Him killing Two-face is out of character and does in fact break his one rule. Even if he didn't mean to, he did in fact kill him. Therefore, the Joker won because he made Batman break his one rule.
Now with Ra's, he didn't kill him. He just didn't save him. I have no problem with that. He didn't blow up the monorail - Gordon did. Gordon killed Ra's.
But Batman breaking his one rule is a big issue to me and I don't see why you guys aren't picking up on that. If Batman can break his one rule in certain cases, what will prevent him from flat out breaking his rule just when he feels like it. I think this is Nolan's first true mistake. The only way to correct this mistake would be to bring back Two-face in the third part. But if not (which it isn't looking like it), Batman broke his one rule and the Joker got the last laugh.