When I upgrade our site, I start with the delivered web.config, and merge our custom changes into that. This is important because web.config contains things like the current CKEditor version path, etc.
Typically, any customizations will be in the user.config file, so about the only thing we need to customize web.config for is the timeout value and the custom machine key.
I'd recommend starting from the delivered web.config, and look for anything that needs to be changed for your environment.
I hope that helps.