это нормальное поведение для mssql (этот сервер используется)
варианты правильного решения
* цикл реализовать в клиенте
* извлекать на клиента всю таблицу и строить дерево
* данные про дочерние записи помещать во временную таблицу в цикле и возывращать на клиента селектом
* ...