It'll be the way that the Windows "shell" is interpreting the characters... are you using cmd.exe/"command prompt" or powershell?
The format for using scantxoutset on the Windows command prompt seems to be:
bitcoin-cli.exe scantxoutset start [\"addr(1CUTyyxgbKvtCdoYmceQJCZLXCde5akiX2)\"]
Actually you are right, it is working, I am using cmd because I call it from PHP and that's what it does.,
Here is the solution:
From the command prompt, no " or ' are accepted.
bitcoin-cli.exe scantxoutset start [\"addr(1CUTyyxgbKvtCdoYmceQJCZLXCde5akiX2)\"]
From PHP retval is an array with the response and $r is the return code true or false
$address="1CUTyyxgbKvtCdoYmceQJCZLXCde5akiX2";
$s='bitcoin-cli.exe scantxoutset start [\"addr('.$address.')\"] ';
exec($s,$retval,$r);
This solution is working but it sucks because it is really slow compared to RPC.
I could not get a positive result with any JSON formatted submission to RPC.