I think I found a way to make it work, it involves writing a replacement for the Microsoft DLL loading functions. Just the kind of challenge I enjoy
But it will take a while, as calibre has *a lot* of dependencies and getting them all to play ball may be tricky, even impossible.
At least the hard work of decoding the DLL file format has been done:
https://github.com/fancycode/MemoryModule