DMT 4.0 Loading in Sales order Header and order details issues

This Code used to work on 10.1.400 to load sales orders… Now it only loads the header and skips the order detail code? has anyone come across this before?
private bool DMT_Files(string sourceFolder, out string errorMessage)
{
bool result = false;
errorMessage = “”;
try
{
string value = Utilities.ValidateFolderDirectory(sourceFolder);
if (!string.IsNullOrEmpty(value))
{
//string commandText = string.Format("-NoUI=True -ConfigValue EpicorPilot -Import=“Sales Order Header” -Source="{0}SalesHeader.csv" -Update -user={1} -pass={2} -server={3} -port={4}", new object[]

                string commandText = string.Format("-NoUI=True -ConfigValue EpicorERP -Import=\"Sales Order Header\" -Source=\"{0}SalesHeader.csv\" -Update -user={1} -pass={2} -server={3} -port={4}", new object[]
              
                {
                    sourceFolder,
                    this.txtDMT_User.Text,
                    this.txtDMT_Pwd.Text,
                    this.txtEpicorServer.Text,
                    this.txtEpicorPort.Text
                });

                string text = MainForm.ExecuteDMTCommandSync(commandText, Settings.Default.DMT_TimeOut);
                if (text.LastIndexOf(" Msg: ", System.StringComparison.Ordinal) >= 0)
                {
                    errorMessage = text;
                    bool result2 = false;
                    return result2;
                }
                commandText = string.Format("-NoUI=True -ConfigValue EpicorERP -Import=\"Sales Order Detail\" -Source=\"{0}SalesDetail.csv\" -Add -user={1} -pass={2} -server={3} -port={4}", new object[]
                
                
                {
                    sourceFolder,
                    this.txtDMT_User.Text,
                    this.txtDMT_Pwd.Text,
                    this.txtEpicorServer.Text,
                    this.txtEpicorPort.Text
                });
                text = MainForm.ExecuteDMTCommandSync(commandText, Settings.Default.DMT_TimeOut);
                if (text.LastIndexOf(" Msg: ", System.StringComparison.Ordinal) >= 0 && text.LastIndexOf("The Ship From on the Release is Mandatory", System.StringComparison.Ordinal) < 0)
                {
                    errorMessage = text;
                    bool result2 = false;
                    return result2;
                }
                //dwb06/21/18
                if (text.LastIndexOf("Couldn", System.StringComparison.Ordinal) >= 0 | text.LastIndexOf("not", System.StringComparison.Ordinal) >= 0 | text.LastIndexOf("not", System.StringComparison.Ordinal) >= 0 | text.LastIndexOf("Expected", System.StringComparison.Ordinal) >= 0)
                {
                    errorMessage = text;
                    bool result2 = false;
                    return result2;
                }
                result = true;
            }
        }
        catch (System.Exception ex)
        {
            Utilities.ErrorHandler("Sending the DMT Process to be Handled", ex);
            result = false;
        }
        return result;
    }
   public static string ExecuteDMTCommandSync(string commandText, int timeoutSeconds)
    {
        System.IO.StreamReader streamReader = System.IO.StreamReader.Null;
        string result = "";
        try
        {
            ProcessStartInfo startInfo = new ProcessStartInfo(string.Format("{0}dmt.exe", Settings.Default.DMT_Location), "/c " + commandText)
            {
                RedirectStandardOutput = true,
                UseShellExecute = false,
                CreateNoWindow = true
            };
            Process process = new Process
            {
                StartInfo = startInfo
            };
            process.Start();
            if (timeoutSeconds == 0)
            {
                streamReader = process.StandardOutput;
                result = streamReader.ReadToEnd();
                process.WaitForExit();
            }
            else
            {
                bool flag = process.WaitForExit(timeoutSeconds * 1000);
                if (flag)
                {
                    streamReader = process.StandardOutput;
                    result = streamReader.ReadToEnd();
                }
                else
                {
                    result = "Timed out at " + timeoutSeconds + " seconds waiting for command window to exit.";
                }
            }
        }
        catch (System.Exception ex)
        {
            Utilities.ErrorHandler("Executing the CMD process", ex);
        }
        finally
        {
            streamReader.Close();
        }
        return result;
    }