It seems that right from the outset, the plan for Windows development was that it would be done with a separate set of compilers specifically equipped for that purpose.
The Windows SDK comes with 7 diskettes, with all the tools you need including a special version of the Microsoft C Compiler version 3.0,
Certainly, as a significant programming language implementation company, Microsoft had the capability to build the specialized tools and an interest in selling them.
But was it actually necessary to use Windows-specific tools?
The 16-bit Windows API was provided through dynamic link libraries, and the initial versions Windows used a single address space, which suggests that it would be theoretically possible to use it with any code that could make appropriate calls to the known fixed addresses.
However it is unclear to me if this would be a problem in practice either due to practical issues with using the API or other compatibility issues.