David Kilcullen, one of the world's leading authorities on counter-insurgency and an adviser to the British government as well as the US state department, said Obama's delay in reaching a decision over extra troops had been "messy".
He said it not only worried US allies but created uncertainty the Taliban could exploit.
Speaking in an interview with the Guardian, he compared the president to someone "pontificating" over whether to send enough firefighters into a burning building to put a fire out.
He was speaking as Obama left Washington for a nine-day trip to Asia without announcing a decision on troop numbers.
The options being considered by the US have been narrowed down to four: sending 10,000, 20,000, 30,000 or 40,000, the latter the figure requested by the Nato commander in Afghanistan, General Stanley McChrystal. These would be on top of 68,000 US troops already deployed.
The deep divisions with the Obama administration were exposed yesterday by leaked diplomatic cables from the US ambassador in Afghanistan, Karl Eikenberry, who urged Obama to ignore McChrystal's request unless the Afghan president, Hamid Karzai, cleaned up his corrupt government.
Kilcullen expressed concern that Obama might deny McChrystal the 40,000 extra troops and split the difference between the four options, the kind of fudge common in domestic politics.
"Time is running out for us to make a decision. We can either put in enough troops to control the environment or we can credibly communicate our intention to leave. Either could work. Splitting the difference is not the way to go," Kilcullen said.
"It feels to me that all these options are dangerously close to the middle ground and we have to consider whether the middle ground is a good place to be.
The middle ground is a good place on domestic issues, but not on strategy. You either commit to D-Day and invade the continent or you get Suez. Half-measures end up with Suez. Do it or not do it."