I don't see much reason to not
use Unicode these days
Even good old Windows 2000 did support the Unicode Win32 API functions. But, as Windows 2000 isn't maintained anymore (and thus won't get any security fixes), using it nowadays is a severe security problem! Not to speak about even older Windows versions! Consequently we can assume 99.9% of all users are on Windows XP or newer these days. The remaining 0.1% is Windows 2000 maybe. So, if we really need a switch to disable "Unicode support", it should probably be called ForceWin9xCompatibility <true|false(default)>
or something like that. And the manual should highly discourage its use (like "Use this only, if you really need Win9x compatibility!"). Or are there any other sane reasons, except Win9x compatibility, why anybody may want to disable Unicode support nowadays?
BTW: I don't know which compiler you use to create the NSIS stubs, but if you use MSVC2010, the binaries won't even run on Windows 2000. They certainly won't run on Win9x, which makes any compatibility options for Win9x pointless then. If you stick with MSVC2008, then Windows 2000 is still supported, but that one certainly doesn't need the No-Unicode workaround. I have no idea what the last MSVC was that still supported Win9x. But unless you plan to stick with that
old MSVC forever, Win9x compatibility switches become pointless...
(The next MSVC won't even support Windows XP anymore