So it looks like the MSVC-like import libs are actually important, LLD seems to be using the COFF IMPORT_OBJECT_HEADER archive members to figure the DLL name, and decide which lib should be ignored and delay loaded instead (matching the -Wl,--delay-load flags).
Generating a GNU-like import lib like here, makes it generate immediate imports for everything, as we pass it `.cross.a` files for all libraries. We could instead probably pass it `.delay.a` files, like we do with GCC but that would defeat the purpose of using the delay-load flag.
I also changed the section alignment flags in favor of `.align` directives instead, and the referencing of the DLL name symbol from the first archive object, which LLD was also complaining about (though it's not a problem anyway, it may be in the future if we want to implement MSVC-like archives).
I didn't try to generate MSVC-like archive because I don't know how well they behave when mixed with GNU-like archives. It should be doable but they may differ too, so I think as a first step it's best to keep as close as we can to GNU dlltool.