[QUOTE]Евгений Жуков пишет:
LEFT_MARGIN+1 = RIGHT_MARGIN - выполнение этого условия для секции означает, что подсекций нет.[/QUOTE]
По алгоритму Nested Sets все верно, разница (RIGHT_MARGIN - LEFT_MARGIN) должна быть равна единице.
Но у разделов инфоблоков есть параметр активность (ACTIVE) и глобальная активность (GLOBAL_ACTIVE) и все стандартные компоненты выводят только дерево активных разделов.
Т.е. если в инфоблоке все разделы активные, то правило RIGHT_MARGIN - LEFT_MARGIN=1 верное. Если нет, то наличие детей необходимо определять вот так:
Если следующий раздел в дереве разделов имеет уровень вложенности (DEPTH_LEVEL) больше, чем уровень вложенности текущего раздела, то текущий раздел имеет "детей".