В общем - автор прав похоже что. Надеюсь что участник Kashperuk, проверит это дело на DAX2009/DAX v.next и запостит ошибку если что

Способ исправления ошибки явно правильный. Проще чуть-чуть подправить расщепление чем курочить очень сложное закрытие. По поводу полей:
CostAmountOperations - сумма по затратному счету прихода. В 99% случаев равна отрицательному значению costAmountPosted. Единственное исключение о котором я прямо сейчас помню - приход услуг по закупке. В таких проводках amountPosted=0; amountOPerations= себестоимости(без минуса).Поскольку услуги на складе не переоценивают - мы этот случай можем игнорировать
CostAmountPhysical - физическая себестоимость по отборочной накладной (грубо говоря). На расчет окончательной себестоимости влияет мало, я бы просто не стал это поле трогать.(Точнее говоря - влияет, но только в тех случаях когда проводка не разнесена финансово и amountPosted==0)
CostAmountStd - стандартная себестоимость. Используется для расчета отклонения между стандартной и закупочной стоимостью. Грубо говоря - для приходов по стандартной себестоимости - CostAmountPosted= закупочной себестоимости, CostAmountStd = стандартной; costAmountAdjustment=costAmountStd-costAmountPosted. Я бы это поле тоже трогать не стал бы, поскольку оно скорее для исторических целей интересно чем для реальных манипуляций с себестоимостью.