I've learned that web.config will inherit across applications on the same site.
I've learned that this is true, even if the child application is a virtual application, not in the same directory tree as the parent, and even if it's not on the same physical drive.
I've learned that the <location> tag has an attribute called InheritInChildApplications to control web.config inheritance.
I've learned that the <configSection> tag cannot be nested in a <location> tag.
I've learned that ASP.NET 3.5 has conflicting <configSection> tags with ASP.NET 2.0 child applications, if you used AJAX controls.
I've learned that no amount of quality control, unit testing, regression testing, or continuous integration on your application will catch it breaking another unrelated application hosted on the same server.
I've learned that when deploying an application update to the test environment, it's good to check the other applications as well, just in case.
I've learned that rolling out changes to production should not be done right before leaving for lunch.
I've learned that when I've taken down all the web applications on a server I can edit every web.config to fix the problem in an amazingly short amount of time.
(credit to Carl Franklin of Mondays for the style)