Проверьте, не является ли инфоблок инфоблоком торговых предложений или инфоблоком товаров, имеющих торговые предложения. Если да - необходимо эту связь разорвать. Только после этого можно удалять.
Да, этот метод возвращает полное имя текущего авторизованного пользователя. Для получения имени произвольного пользователя можно взять, например, CUser::FormatName()
Не надо сверлить зубы через задний проход дрелью от Сваровски
Проверьте настройки Главного модуля, относящиеся к генерации карты - "Тип меню для нулевого уровня карты сайта" и "Тип меню для остальных уровней карты сайта"