I spend some time to develop an easy and consistent way to call C++/FORTRAN (DLL) from a Windows (WPF) main application which has its own console as well as a Windows GUI. The attached document describes the procedure I was able to use to achieve this. If there is any interest, I can post the source code or VS 2017 solution files as well.
Just so I can understand you created a middle tier of C++/CLI such that you can add the Fortran code as a reference assembly instead of using `[DllImport()]` and hoping to get the arguments correct and not corrupt the stack. Kudos, this is really good work here.