Если я использую SetPropertyValueCode или SetPropertyValuesEx и передаю в массив только array('DESCRIPTION' => $desc); то не происходит ничего. Если я делаю так - Array("VALUE"=>$arFile,"DESCRIPTION"=>$desc), то SetPropertyValuesEx просто затирает свойства, вне зависимости от того что я передаю в VALUE - массив ли полученный с помощью GetFileArray или ID файла. Делать массив из пути к файлу с помощью MakeFileArray я не хочу, так как в этом случае файл перерегистриуется и пересохраняется заново (я ведь прав?) и я буду получать зомби-файлы. SetPropertyValueCode просто не делает ничего, если я буре в качестве ключей Id значений как указано в документации.