Encontrei esse problema ao fazer algumas migrações de teste de nossos aplicativos de intranet do IIS6 para o 7. Consegui resolver o problema modificando a seção a seguir do arquivo Web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
</handlers>
</system.webServer>
Mude validateIntegratedModeConfiguration para true e remova o WebServiceHandlerFactory-Integrated da lista de remoção.
Curiosamente, do memmory, o ASP.NET adiciona essas linhas especificamente ao IIS7. Oh bem.