To be honest I think the players and clubs have got it the wrong way round.
Playing for your country should be 1st and foremost.
It should really be a case of clubs being told not to play him over the weekend before so the team is rested.
They are professional footballers employed to do a job for their club, randomly someone comes along deems it that player X should come play for you, get injured and can no longer do a job for the club that pays them and often paid millions to buy the player in the first place.
INternational football is by and larger UTTER RUBBISH. England haven't played in a good game since the 5-1 against Germany, I could live without having seen any of the games since then.
Its daft to get players injured playing for their country, even more so in meaningless games, however, Gerrard still chooses to play for his country. An agreement to TRY and bring him off after an hour is one thing, if this was in a contract somewhere that both sides signed, but planning to take him off after an hour doesn't mean they would. As said, Barry got injured, and had he not they would have taken Gerrard off.
Of course Capello left him on thinking England could still win the game because he's deluded.
Players with fitness issues really should stand up and tell their international manager they can't play, honestly I put the blame on Gerrard and no one else.
Then you have the little issue of, if you refuse to play in the pointless games, will the manager choose you for more important games. Meh.
I don't think any player(pele maybe) was considered great just for his world cup/international performances. Of all the current world star players its all built on club form/performances/success.
Fabregas/Villa/Xavi are seen as world class footballers for club before you consider their world cup/euro exploits, they were considered some of the worlds best while Spain sucked balls.
End of the day, Gerrard could have said he can't play, he didn't, his own fault and his club should be angry at Gerrard, no one else.