Похоже, что лучше ничего нет, чем
$arSelect = Array("ID");
$sect = CIBlockElement::GetList(
Array("ID" => "DESC"),
Array("IBLOCK_ID" => $arSection["IBLOCK_ID"],
"ACTIVE" => "Y",
"SECTION_ID" => Array($arSection['ID']),
"INCLUDE_SUBSECTIONS" => 'Y',
">CATALOG_QUANTITY" => "0"
),
false,
Array("nTopCount" => 3),
$arSelect);
while ($el = $sect->GetNextElement()) {
$res_count++;
break;
};