I agree; likely it is the launch from C++which is creating the window, and thus would not expect the fix to be in the Perlportion of the code.
I did find this -- if not directly applicable, it may be a cluebat towards a solution. Stringing several of the answers together seems to yield a workable solution:
In reply to Re^8: Suppress windows cmd for system command in Perl
by marinersk
in thread Suppress windows cmd for system command in Perl
by Chaks
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |