I normally program with SW6 1 on as per the pdf, but ive tried with SW6 #1 off for both programming and operation and its definately COM22/COM23 for me;
[2012-06-28 17:29:37] Icarus Detect: Test failed at \\.\COM20: get 00000000, should: 000187a2
[2012-06-28 17:29:38] Icarus Detect: Test failed at \\.\COM21: get 00000000, should: 000187a2
[2012-06-28 17:29:38] Icarus Detect: Test failed at \\.\COM22: get 00018799, should: 000187a2
[2012-06-28 17:29:38] Icarus Detect: Test failed at \\.\COM23: get 000187a1, should: 000187a2
CGminer works at 115,200 baud, so thats why SW6 1 needs to be off for it