Good post! It's an interesting role reversal. Usually Unix is all about passing raw strings around whereas Windows is much more comfortable with passing structured data (see also COM).
I would warn that "CommandLineToArgvW" does not necessarily do what the C runtime does. They are different implementations.
Also your main problem in that post seems to have been in using `cmd.exe` and DOS utilities. The command prompt is all about mimicking DOS and not breaking .bat files from 80s and 90s. It's essentially stuck in stasis. Powershell is the actively developed shell (now on version 7).