Your arguments are persuasive, to a degree. However, where I disagree with you is on the matter of security for the Iraqi populace. This is the responsibility of the Iraqis. As long as we are there, they will not have to assume that responsibility. If we don't set a timeline then we will be going along until a day suddenly comes when we can say, "Ok, we can leave now." With a timeline, they will be forced to step up and assume responsibility. The Iraqis are not children that need the guidance of the more mature USA.
The argument "Iraqis are not children.." can just as well be applied to Afghans. And I am guessing you support the deployment of additional troops to Afghanistan, even though they too, will not step up and assume responsibility in the presence of US troops.
US troops in Iraq are not there to provide guidance ~ they are there to provide security, so that the Iraqis can fix their own house.
As a matter of fact, I do favor putting more resources into Afghanistan. It has been neglected for too long. We need to put more resources into rebuilding the country. We also need to put more effort into capturing bin Laden. That will require more troops.