Тогда очень странное поведение. Хотя еще вариант:

Тогда очень странное поведение. Хотя еще вариант: проверь-ка запрос в процессоре. Параметр parent=$id вызывает сомнения. Надежней

[
 «where» => [
 «parent» => $id
 ]
 ]

Для четкой отладки пиши в процессоре так:

public function prepareQueryBeforeCount(xPDOQuery $c) {
    $c = parent::prepareQueryBeforeCount($c);
    
    $c->prepare();
    print $c->toSQL();
    exit;
    
    return $c;
}

Так ты увидишь реальный SQL-запрос при выполнении этого процессора. Можешь убрать exit, чтобы процесс не обламывался, и вы всегда видел выполняется процесс или нет.