Issue updating Inventory Transaction Receipt Multi-Bin Distribution using BOI


When attempting to create line items for a Inventory Transaction Receipt batch I'm having issues when I attempt to update the distribution.  my code was working on Sage 2018 but they are upgrading to Sage 2021 and it now throws an

System.Runtime.InteropServices.COMException (0x80020006): Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))

Here's my code the commented out using line was the old code which also generates the above error.  I'm able to add lines to the batch without any issues it is just when I attempt to update the distributions that there is an issue.  Any help, hints suggestions are greatly appreciated.

//Set data on added line.
IMBoi.Lines.Set_Value("ItemCode", alias);
IMBoi.Lines.Set_Value("TransactionQty", item.item_length);
IMBoi.Lines.Set_Value("UnitCost", price);
IMBoi.Lines.Set_Value("UnitOfMeasure", uom);
IMBoi.Lines.Set_Value("WarehouseCode", setting.DefaultWarehouse);
//using (var tierdist = new BoiObject(new DispatchObject(IMBoi.Lines.InvokeMethod("oTierBinDistribution")), IMBoi.Lines.Name + ".Distribution"))
using (BoiObject tierdist = session.GetBoiObject("IM_TransactionTierDistribution_ui", "I/M", "IM_TransactionTierDistribution_bus"))
//add distribution record to line and specify qty
////tierdist.InvokeMethod("nAddDistributionLine", item.unit_id, item.location_name);
//IMBoi.Lines.Distribution.InvokeMethod("nAddDistributionLine", item.unit_id, item.location_name);
//var tierdist = IMBoi.Lines.InvokeMethod("oACS_MultiBin_OBJ");
tierdist.InvokeMethod("nAddDristributionLine", item.unit_id, item.location_name);
tierdist.Set_Value("BinLocatoin", item.unit_id);
tierdist.Set_Value("UDF_Weight", item.item_weight);
tierdist.Set_Value("UDF_Expiration_Date", item.scale_barcode_time.AddYears(1).ToString("yyyyMMdd"));