Сейчас в компоненте sele.basket.order.ajax логин пользователя создается из части электронной почты, которая до "@". Соответственно если пользователь ivan@mail.ru купил что-то, то пользователь ivan@yandex.ru уже ничего не сможет купить, так как пользователь с логином "ivan" уже есть на сайте.
Предлагаю создавать логин из электронной почты полностью, а не только из первой части, так этой проблемы не будет.
Авторизация до оформления заказа это лишнее действие для пользователя, которое он не захочет сделать и опять уйдет, да и по ТЗ было именно регистрация при оформлении.