Мало информации. Есть подозрение что или не видит файл layout'a или же ошибка в пути блока. Нужно включить логирование мадженты и посмотреть в логи. Если проблема в блоке, то она напишет что не может найти указанный блок.
Ну для начала что бы система начала использовать новую тему, нужно что бы пакет и тема(опционально, по умолчанию использует default) были установлены в админке.
Второе. dev_news.xml файл ничем не обрабатывается. Если нужно кастомизировть тему, то в папке layout создается файл local.xml и там все правится или же копируются соответствующие layout файлы с base темы и правятся они.
Ну не WP точно. Zend сомнительно, если только нет очень кастомного функционала. 4000 - 10000 не так много, так что я думаю что лучше смотреть в сторону готовых e-commerce движков типа OpenCart, Magento, PrestaShop
Самое появление решения с двумя циклами должно настораживать. Выше уже порекомендовали array_search, но если тебе нужно найти разницу двух массивов то используй array_diff
CS50::query вернуло тебе массив, который ты пытаешься вывести с помощью echo. Тебе нужно обратится к конкретному ключу массива что бы вывести интересующие тебя данный.
Проверить что находится в массиве можно или через xdebug или var_dump($userLogin);
Для начала обновись до 7.0.6, поскольку с 7.0.5 были проблемы у многих вендоров из-за чего они убрали из зависимости данный релиз. В 7.0.6 были исправлены многие проблемы, возможно что и данная проблема так же исправлена.