Where in his job description does it say that 007 should save the assasination victim in Shanghai? For all we know the guy Patrice shot is as much of a bastard as Silva, in fact you could argue that given the circles he's obviously travelling in he's unlikely to be a humanitarian. Personally I'm more bothered about the poor security guy Patrice offs downstairs...
But, again, you could argue Bond is acting no differently. How many times has 007 gone out of his way to protect an innocent who wasn't the Bond girl or someone he had a specific reason to protect? 00 Agent, licenced to kill, he's an assasin, a blunt object whose objective is to provoke and confront, if I recall the M/Miranda conversation from DAD correctly.
007 is also not an expert in IT so I wouldn't expect him to suddenly turn into Harry Enfield and go "Ere, Q, you don't wanna do it like that, you want to do it like this..."
And I think he does know about the gas canisters, he just had no reason to need to use them because he wasn't expecting a helicopter gunship to turn up.
As for the agent list, he wasn't given the chance to retrive it, instead M told an inexperienced field agent to take a shot at two practically inseperable targets on a moving train...personally I think it was a situation where they were both right, to an extent, or at least I can see both points of view.
As for not pointing out that he's unfit for service, again I could give you countless examples of that (TWINE for one).