Set CREATE_NO_WINDOW in tor_spawn_background
The CREATE_NO_WINDOW flag prevents the creation of a console window popup on Windows. We need it for pluggable transport executables under the 3.x browser bundle—otherwise you get blank console windows when you start it up with transports enabled.
http://msdn.microsoft.com/en-us/library/ms684863.aspx#CREATE_NO_WINDOW
The project to make pluggable transports bundles based on 3.x TBB is legacy/trac#9444 (closed). A summary of the CREATE_NO_WINDOW situation is in comment:30:ticket:9444. In short: The old browser bundles that used Vidalia used to set this flag when launching tor itself; it was apparently inherited by the pluggable transports launched by tor. In the 3.x bundles, tor is launched by some JavaScript code, which doesn't have the ability to set CREATE_NO_WINDOW. tor itself is now being compiled with the -mwindows option, so that it is a GUI application, not a console application, and doesn't show a console window in any case. This workaround doesn't work for pluggable transports, because they need to be able to write control messages to stdout.
In a function called tor_spawn_background it makes sense that console windows shouldn't be popping up. In addition to pluggable transports, I think the function is used for tor-fw-helper.
There may be other ways to solve the problem of console windows, but I haven't been able to think of them.