It's not system-specific. I can replicate your results in Windows.
>perl -l -CDS -e "print qq{\x{101}}"
[funky chars]
>perl -CDS test-noCDS.pl
[funky chars]
>perl test-withCDS.pl
Wide character in print at test-withCDS.pl line 2.
[funky chars]
This is perl, v5.8.8 built for MSWin32-x86-multi-thread
Binary build 817 [257965] provided by ActiveState
Built Mar 20 2006 17:54:25
The fourth test has a different result, because it's the same as the third test in Windows.
>test-withCDS.pl
Wide character in print at test-withCDS.pl line 2.
[funky chars]
Could it be related to the script starting execution before the -CDS switch is encountered? In other words, maybe STDIN, STDOUT, STDERR have already been created by the time shebang -CDS is encountered.