Desde que os dois aplicativos estejam sendo executados em um AppPool diferente, é como ter dois servidores separados. Sem problemas.
Se bem me lembro, está tudo bem, as diferentes versões coexistem pacificamente, mas quero apenas checar se não há possibilidade de problemas (estou instalando a versão mais nova da estrutura .net em um servidor de produção mais antigo em preparação para atualizar um aplicativo crítico asp.net 1.1 para 3.5 em um futuro próximo).
Como Moshe mencionado, é o AppPool que importa com o IIS. Com o .NET em geral, 1.1 e 3.5 podem coexistir sem interferência porque estão sendo executados em núcleos diferentes. O .NET 4.0 também é completamente separado das versões anteriores. A Microsoft tem um artigo bastante decente que abrange as versões e dependências:
As relações entre o .NET Framework versões 2.0, 3.0 e 3.5 diferem das relações entre as versões 1.0, 1.1 e 2.0. O .NET Framework 1.0, 1.1 e 2.0 são completamente separados um do outro e uma versão pode estar presente em um computador, independentemente de as outras versões estarem presentes. Quando as versões 1.0, 1.1 e 2.0 estão no mesmo computador, cada versão tem seu próprio common language runtime, bibliotecas de classes, compilador e assim por diante. Os desenvolvedores de aplicativos podem escolher qual versão segmentar. Para obter mais informações, consulte Execução lado a lado, Segmentando uma versão ou perfil específico do .NET Framework e Usando o MSBuild para direcionar versões específicas do .NET Framework.