If he has any principles, he should resign if he is not given the troops to achieve the mission. Having soldiers die needlessly in a war their government won't support is something that McCrystal should not be involved with. His resignation would do more to support the troops than remaining silent in a losing battle. His resignation could actually save lives because it would force the Administration to either go all in or get out. And such a resignation will gain the attention of the American people.
You make a very reasoned argument, however I don’t think the General is dealing with a reasonable individual. I think the General is doing what he thinks gives the men and women under his command their best chance for success.