I spotted an interesting tidbit over at Google Groups where we have a Google AdWords API representative give us some deeper insight into how editing ads technically work at Google.
Here is a quote from the AdWords API rep:
If you've ever edited an ad via the AdWords web interface and you're particularly inquisitive, you might notice that the ad's underlying ID changes after the update. You also might notice that there's a running count of how many "edited or deleted" ads there are in the Ad Variations tab of a given ad group in the web interface. One might draw the conclusion from this that when you edit an ad's text via the AdWords web interface, you're effectively creating a new ad and disabling/deleting the previous ad, allowing our system to keep track of the previous ad versions with a unique ID as well as the current one.
Given such a potential backend setup, if updateAds() allowed modifying ad content it would just be a thin wrapper over what everyone can already do via the API, namely creating a new ad and disabling the old.
As you can see, when you edit an ad, the original ad ID is archived and a new ad ID is created for the revised ad. While technically this is creating a brand new ad ID, Google is also storing a database link between the original ad and the new ad you created. So technically, they also know that this ad is a revision of a previous ad.
The image shows that we are creating a new ad, since there is a new ID. But it also shows the symbolic link between the original ad and the revised ad. That is why when edited an ad, it may not impact the quality score as much as starting a new ad from scratch.
Forum discussion at Google Groups.