You need to subclass CommerceItemManager and override the mergeOrdersCopyCommerceItem method to first call the superclass method to do the basic copy and then copy your extended commerce item data.
For e.g:
protected CommerceItem mergeOrdersCopyCommerceItem(Order pSrcOrder, Order pDstOrder, CommerceItem pItem) throws CommerceException {
NewCommerceItem item = (NewCommerceItem) pItem;
NewCommerceItem newItem = (NewCommerceItem) super.mergeOrdersCopyCommerceItem(pSrcOrder, pDstOrder, pItem);
//Now your code to add the changes.
newItem.setABC(item.getABC());
return newItem;
}
And, as the change you have already done, so it's all we need.