The problem is that gcc cross-compilers can be names differently. It depends on how it is built in the first place. The programs you are referring to (
i586-mingw32msvc-g++) are two of the many possibilities when naming the MinGW binaries. But they should behave more or less similarly.
If the third-party Makefile uses this name unconditionally, I'd suggest to change it for your correct one. If you cannot change it, just add a script in your
bin directoy that chains to the other compiler, and it'll work transparently.
But if the third-party Makefile uses autoconf (or similar), then you are configuring it wrong.