There are two scenarios I need to clarify:
An executable compiled with .NET 3.5 needs to use a library compiled with .NET 1.1 and the library must run on the 1.1 runtime.
An executable compiled with .NET 1.1 needs to use a library compiled with .NET 3.5.
I cannot find a reliable source stating that it is not possible to load two versions of the .NET runtime and Microsoft's documentation is very vague on this matter.