There are two ways to change the results of an election by fraud. Either the ballots are changed, or the tallies of ballots are changed. That's it. If ballots are not produced or removed fraudulently or the numbers reported in the final tally are not the numbers of actual counted ballots, then there was no election fraud.
Ahmadinejad's victory by over 10 million votes can only be fraudulent if either 10 million ballots were added to Ahmadinejad's roll or removed from his opponents' rolls or the numbers reported differ from the actual counted results by that amount. (Or some combination, perhaps 5 million one way and 5 the other.)
The problem with both scenarios is that Iran is widely reported to be in the midst of a factional power dispute with resourceful and influential groups on both sides. Creating 10 million ballots would mean weeks of full-time false ballot production by hundreds of people. Creating and distributing a number of ballots that could influence the election would involve too many people to be kept as a secret from some of the most powerful organizations in the country that oppose the declared victor in the election.
In the early aftermath of the election it was widely and falsely reported, including by US-aligned groups in Iran, that, contrary to Iran's normal practice, ballots were removed from local polling places and counted in secrecy. Now that better information is available, there is no indication that this happened. Instead tens of thousands of election observers from every campaign were present in almost all local polling places as the votes were counted.
There are tens of thousands of election officials who transmitted results to Tehran for their districts. For Mousavi to have won the local vote counts while Ahmadinejad won the centrally produced tally would require thousands of officials to know that they reported Mousavi victories while the Interior Ministry reported Ahmadinejad victories in their polling places. It is not plausible that out of these thousands of officials, every one has remained silent as at least dozens of Iranians died.
A massive vote producing operation would have been required to produce a result-altering amount of votes. Also a massive conspiracy of tens of thousands of local election officials, each with decisive information that bears on a current national factional power-struggle, would be required for enough votes to be changed by fraud after they were counted. Either of these massive frauds would have left traces that would have been detected, if not by foreigners or by college students, at least by the very powerful and resourceful faction in Iranian politics that openly and vehemently opposes Ahmadinejad.
Evidence presented for election fraud really should be embarrassing to those that purvey it at this point. There is (paraphrasing) "these result are different from what I expected" that Juan Cole is still presenting as authoritative proof of fraud. Two weeks after the election "evidence" of that form is not worthy of a response. It wasn't worthy two days after the election.
Then there is the argument that Iran's response to the protests somehow is evidence that the election was fraudulent.
This is a mind-boggling argument. Hundreds of thousands, maybe millions of people took to the streets on the basis of rumors, at least with foreign support, if not foreign direction, with the stated intention of removing the government from power. The argument is something like governments only put demonstrations of this type down after false elections. That argument is also ridiculous on its face.
There is the argument that unless there is fraud it is not possible to convince large amounts of people to buy into an atmosphere of rumor and distrust. People seriously make that argument. Once again, it strikes me as an argument that could only be presented with a straight face by someone whose perception is distorted by some emotional bias. Elections are intense times and if a losing candidate says publicly that he does not accept election results, the candidate's supporters will support him. That is what supporters do. Anywhere in the world. Fraud or no fraud.
But for both of the two ways result-changing fraud could have happened in Iran, fabricated ballots or Iran's Interior Ministry ignoring the results transmitted by the localities, there is enough information available now to render each implausible. Ahmadinejad's victory was determined by his getting more votes from Iranians, not by some mysterious and still-unknown plot to steal the election.