После выборки методом CIBlockSection::GetList можно задать параметры постраничной навигации (функция [URL=http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/navstart.php]NavStart[/URL] и далее по списку). Придется немного изменить компонент.
Сути это не меняет. Стандартными средствами загнать родительский и дочерний разделы инфоблока в урл не получится, потому как битрикс дает возможность использовать в адресах только один #SECTION_CODE#. Тут или кастомное решение, или верхний уровень структуры (в Вашем случае "Музыкальные инструменты") выносить в инфоблоки.
Вариант, который хотите Вы - только если руками мудрить с обработкой адресов. Другой выход (так сделано в демо-магазине битрикса) - раздел "музыкальные товары" сделать инфоблоком, назначить ему код и работать стандартными средствами.
[URL=http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=8&LESSON_ID=322]Описание ошибки[/URL] Как вариант, возможно Вы используете в file.php какие-нибудь API функции, требующие подключения модуля (пример - CModule::IncludeModule('iblock') и выборка элементов иблока). Под админом модуль подключается системой до кода, под обычным пользователем получается фатальная ошибка PHP и 500 Internal Server Error
У функции [URL=http://dev.1c-bitrix.ru/api_help/main/reference/cmain/showtitle.php]ShowTitle[/URL] есть второй параметр, который позволяет не обрезать html-теги при выводе. Попробуйте установить его и использовать [CODE]$APPLICATION->SetTitle($arResult['NAME']." <спан>(".CIBlock::GetElementCount($arResult['ID'])." шт.) </спан>");[/CODE]
Попробуйте использовать [URL=http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getelementgroups.php]CIBlockElement::GetElementGroups[/URL]
Этот скрипт для IE древних версий, которые не понимали :hover на <li>. Чтобы меню не выпадало, нужно из стилей убрать строку [CODE]#horizontal-multilevel-menu li:hover ul { display:block }[/CODE] и на яваскрипте (или jquery, что проще) дописать обработчик события на клик, который будет скрывать\показывать вложенный список.