Just because a cause is moral does not mean that it has to be waged under a banner of moral absolutism, along the lines of Bush's "you're either with us or against us." The strong (and absolutely correct) U.S. resistance to the evil of communism did not prevent Richard Nixon and Henry Kissinger from eventually developing an alignment with Communist China against the Soviet Union - although when this occurred, China was still under the rule of the monstrous Mao Zedong.
Today, we do not have to like or admire the Iranian regime to see that Iranian nationalism could be a very useful tool against our other enemies. Indeed, Iran already has played a very valuable role, by giving vitally important support to the Northern Alliance in Afghanistan against the Taliban.
This is the truly crazy aspect of Bush administration policy. The three forces targeted as enemies have all fought ferocious conflicts with each other. The Sunni fundamentalism represented by Osama bin Laden, the Shia religious nationalism of the Iranians and the radical secular Arab nationalism of Saddam Hussein are not allies but natural enemies. To bring them together requires something approaching suicidal genius on the part of the U.S. administration. Members of al-Qaida must be laughing their heads off.