Оказывается вместо Fetch() нужно было использовать GetNext()
Странно, в выборке поле "DETAIL_PAGE_URL" отмечено
Итог
<?
$arSelect = Array("ID", "IBLOCK_ID", "NAME", "PREVIEW_PICTURE", "DETAIL_PAGE_URL", "PROPERTY_NABOR");
$arFilter = Array("IBLOCK_ID"=>$arParams['IBLOCK_ID'], "ACTIVE"=>"Y", "PROPERTY_NABOR"=>$arResult['DISPLAY_PROPERTIES']['NABOR']['VALUE']);
$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), $arFilter, false, false, $arSelect);
?>
<div class="set_wrapp set_block">
<div class="title"><?=GetMessage("COLLECTION_TITLE")?></div>
<ul>
<?while($ar_fields = $res->GetNext()):?>
<?
$img_path = CFile::GetPath($ar_fields["PREVIEW_PICTURE"]);
<li class="item">
<div class="item_inner">
<div class="image">
<a href="<?=$ar_fields['DETAIL_PAGE_URL']?>">
<img src="<?=$img_path?>" alt="<?=$ar_fields['NAME']?>" title="<?=$ar_fields['NAME']?>">
</a>
</div>
<div class="item_info">
<div class="item-title">
<a href="<?=$ar_fields['DETAIL_PAGE_URL']?>">
<span><?=$ar_fields['NAME']?></span>
</a>
</div>
</div>
</div>
</li>
<?endwhile?>
</ul>
</div>
</div>