This is by design. Web.config is read from the root to the appropriate application folder. All changes in the root apply to your application, unless your application changes it. Read this MSDN link to better understand the hierarchy and inheritance of Web.config.
In order for your application to ignore the settings in the root directory, you need to use the location element with the inheritInChildApplications attribute set to false for the path.
Sort of:
<location path="." inheritInChildApplications="false">
<settings.....>
</location
, web.config, , . "." , , .