Batman's rule isn't that he won't kill anyone - it's that he won't be an executioner.
In Batman Begins, he tells Raz Al Gul (or however you spell it) that he won't kill him, but he won't save him either. The train was fucked either way - Batman was able to escape, while Raz couldn't.
In TDK, he didn't execute Two-Face. He had a gun to a little kid's head so Batman had no other choice but to take Two-Face down at the perfect moment, while he was flipping his coin.
/thread