He has a licence to kill but would not go round killing innocent people say if he was ordered to eliminate Blofeld.
True, but I think it's debatable whether or not he would allow somebody to die.
Remember, we're not talking about the film Bond, we're talking about the book Bond, and how faithful Craig was to Fleming's creation.
Well Bond was a pretty damn cold SOB in some of the books. His sadism towards women became positively unpleasant in the later novels (like Dr. No), and some of the short stories that looked at Bond from an outsider's perspective didn't exactly hold his humanity in high regard. He was a blunt instrument, and Craig's version pretty much epitomises that.
In the scene you mention we don't really know who is getting shot or why, but Bond takes the bigger picture view that the best time to strike would be after the sniper has fired. It's no more or less cold than M's decision to 'take the shot' at the beginning. It's a 'greater good' decision made in the middle of a highly important (as has already been mentioned) mission.
The fact that Dalton's Bond
didn't kill the cellist (for example) doesn't mean he wouldn't have done the same thing as Craig in this situation. It just happened that he noticed that the cellist wasn't a professional sniper, and figured that something fishy was up and it would have been better to investigate further rather than put a bullet in her head.
Anyways, I do agree that it was a slightly odd bit in the film. I didn't have a problem with Bond making that particular decision, I just think they could have done with explaining why a little bit better, rather than making us assume that it was because he wanted to preserve the integrity of his primary mission protocol.
Cas