Build/Split/Merge in a Function -- No error, just doesn't add stock to PCID

Ok this code is 2 years old before I knew what I was doing at all, but it works.
It is part of a larger program, but you can pick through it.

  //Add Lot from PCID
  Action<string, string, string, string, string, string, decimal, string, Erp.Contracts.PkgControlIDBuildSplitMergeSvcContract, Erp.Contracts.PkgControlIDSvcContract> AddToPCID = (pcid, partNum, partDesc, partClass, jobNum, lotNum, qty, uom, pcidBSM, pcidItem) =>
  {
    bool retVal = false;
    
    Erp.Tablesets.PCIDBuildSplitMergeDestTableset destTS = new Erp.Tablesets.PCIDBuildSplitMergeDestTableset();
    Erp.Tablesets.PCIDBuildSplitMergeSourcePartTableset sourceTS = new Erp.Tablesets.PCIDBuildSplitMergeSourcePartTableset();

    pcidBSM.GetDestPCID(pcid, false, ref destTS);
        
    Erp.Tablesets.PCIDBuildSplitMergeSourcePartRow partRow = (Erp.Tablesets.PCIDBuildSplitMergeSourcePartRow)sourceTS.PCIDBuildSplitMergeSourcePart.NewRow();
    
    partRow.Company = Session.CompanyID;
    partRow.Plant = "";
    partRow.PartNum = partNum;
    partRow.PartDescription = partDesc;
    partRow.BinNum = "WARE";
    partRow.BinDescription = "Warehouse";
    partRow.LotNum = lotNum;
    partRow.LotTrackedPart = true;
    partRow.SerialTrackedPart = false;
    partRow.OnHandQuantity = qty;
    partRow.SourceQuantity = qty;
    partRow.AvailableQuantity = qty;
    partRow.WarehouseCode = (partClass == "SCRA" ? "SCRAP" : "FIN");
    partRow.SourceUOM = uom;
    partRow.AvailableUOM = uom;
    partRow.OnHandUOM = uom;
    partRow.AttributeSetID = 0;
    partRow.EnableAttributeSetSearch = false;
    partRow.PartTrackInventoryAttributes = false;
    //partRow.DispNumberOfPieces = 0;//0
    partRow.SysRowID = Guid.NewGuid();
    partRow.RowMod = "A";
    
    

    sourceTS.PCIDBuildSplitMergeSourcePart.Add(partRow);
        
    pcidBSM.AddPartToPCID(ref sourceTS, ref destTS);
    


    Erp.Tablesets.PkgControlIDTableset pcidTS = new Erp.Tablesets.PkgControlIDTableset(); 
    
    pcidTS = pcidItem.GetByID(pcid);
    pcidTS.PkgControlItem.FirstOrDefault().SupplyJobNum = jobNum;
    pcidTS.PkgControlItem.FirstOrDefault().RowMod = "U";
    
    pcidItem.Update(ref pcidTS);    
    

  };