Finally sorted out all the little problems with MSWin32 by switching to Win32::Job as per dagolden's suggestion.
I updated to ActiveState's ActivePerl Build 820 recently and got an environment configured with the Microsoft Visual C++ Toolkit, so I started a smoke run using the minismoker script. And stone the crows, Mary Poppins, it bloody well works. Hooray!
Hitting a CPAN mirror near you soon