Все заебись, ордер создается. Но вот трабла - в письме и админке shipping method пусто. В базе в sales_flat_order::shipping_method - то, что нужно, но этого видимо недостаточно.
Заметил интересную особенность: если раскомментить 91: #exit; - создать ордер, а потом нажать f5 и повторно отправить запрос на сервер - создастся еще один ордер, и вот в нем уже будет все окей.
Еще можно через админку создать заново ордер на основе прошлого. Но этот вариант мне не подходит. Вернее недельку потерпеть можно, но не более.
Что пробовал делать:
менял последовательности сохранения - сначала платежка потом доставка и тд
добавлял всякие initCheckout(), clear() и тд
пробовал частично обновиться на 1.4.2.0 (кастопер и чекаут) - фейл.
по частям сохранять (как бы эмуляция стандартного чекаута), часть аяксом отправляю, а часть потом в догонку. Но тут как бы сессия чекаута теряется (товары на месте, а пишет, что ничего не заполнено)
В общем ебусь с этим созданием ордера без перерыва более 12 часов, все без толку.