Добавьте на станицу корзины(в место оформления заказа) обязательное поле e-mail. При оформлении заказа если не возникает каких либо проблем и ошибок(то есть в ситуации когда заказ точно будет принят) сначала регистрируете пользователя, затем уже к нему привязываете заказ в этом же обработчике и после оформления заказа пишете что создан личный кабинет и что данные для входа отправлены на e-mail.
Если пользователь с таким e-mail адресом уже есть в системе, то заказ привязываете к его аккаунту.
Как раз недавно делал такую логину для интернет магазина на Bitrix.
________________________________________
Или другой вариант. Пересмотреть логику отображения списка заказов в ЛК, таким образом, чтобы привязка шла не по id а по e-mail.
То есть привязываете заказ для авторизованных к e-mail который у них указан в ЛК, а если не авторизован то к e-mail который вводят при заказе.
Таким образом если такой пользователь в перспективе создаст личный кабинет заказы отобразятся которые были привязаны по e-mail.