Нужно сделать трассировку после какого именно пункта (2,3,4) происходит потеря сессии, скорее всего именно при редиректе, но лучше для верности весь полтергейст исключить. Далее три варианта, либо редирект делается постом с подмешиванием каких-то переменных и тогда битрикс может подумать что пользователь пытается авторизоваться, либо платёжка как то портит куки, что очень маловероятно, и третье это ошибка в коде при проверке статусы оплаты заказа - я бы копал в эту сторону. Попробуйте сделать страницу на которую будет происходить редирект пустой без подключения компонентов интернет-магазина, только ядро и проверка CUser::IsAuthorized()