First, three kinds of aid, not to be confused: relief, reconstruction, development.
This is helpful for me, and your points about the first two being somewhat clear cut and short term objective focused help me shape my thoughts on this topic, and your points on development merit more discussion.

We treat it as a problem of money and expertise, when in reality the primary obstacles to development are political. Fact of life: real development is almost always going to piss someone off, usually someone powerful.
Since we're all being politically correct (factual versus idealistic), I think development would be better partnered with something that looks more like like political operatons than COIN. Before any serious attempt at providing assistance for development, we promote (for example, through political advice to grass roots movements) a political revolution of sorts that sets the conditions for development efforts to work. I'm not necessarily talking about having an underground make bad politicians disappear, as that would go awry very quickly (a true pandora's box), but rather use tools like twitter to create movements to discredit and pressure the status quo leaders to change their behavior or risk undesirable consequences. Also find means to separate the bad politicians from their sources of power (money, security forces, etc.). Obviously rough thoughts, but if you look at what happened in Poland with the Solidarity movement that removed the old system (at least enough of it) to allow economic development to flurish, there may be opportunities in the world to do similiar activities (not so much in Afghanistan or Iraq).