Проблема очевидна: ShowCSS() и SetAdditionalCSS() - это отложенные функции. В результате работы скрипта между условными комментариями будет "пусто". Стиль, добавленный с помощью SetAdditionalCSS(), будет выведен с общим списком. Проблема решается с помощью функции AddHeadString(). Например:
$APPLICATION->AddHeadString('<!--[if IE 6]><link href="'.$APPLICATION->GetTemplatePath("/bitrix/templates/my/iestyle.css").'" type="text/css" rel="stylesheet" /><![endif]-->', true);
Рекомендую не указывать полный путь к шаблону, используйте функцию GetTemplatePath(), как в приведенном примере. Это позволит избежать проблем с переименовыванием шаблона.
$APPLICATION->AddHeadString('<!--[if IE 6]><link href="'.$APPLICATION->GetTemplatePath("/bitrix/templates/my/iestyle.css").'" type="text/css" rel="stylesheet" /><![endif]-->', true);
Рекомендую не указывать полный путь к шаблону, используйте функцию GetTemplatePath(), как в приведенном примере. Это позволит избежать проблем с переименовыванием шаблона.