Also, my guess is that they will announce something on this the coming summer, well before Nokia world in September.
(edited for repetition of words)
In the case of .NET, it's the side-by-side deployment of the .NET runtimes that allow multiple versions to be present on the system at the same time.
I don't think you know what the Windows kernel does. Multiple library versions have nothing to do with the kernel because 1) the kernel doesn't know anything about libraries, 2) the kernel doesn't do userspace binary loading (even for completely unmanaged code), and 3) the kernel does nothing at all with .NET.
Side-by-side deployment of binaries is actually completely separate from the functionality in .NET that allows multiple versions, which is the GAC (Global Assembly Cache); SxS binaries (which are used by unmanaged code) are completely separate, although they both reference their respective binaries via manifest files.