Os dados que você está inserindo provavelmente contêm caracteres especiais como aspas simples. Mude para uma consulta parametrizada para que os valores sejam escapados corretamente. Um bom exemplo e explicação é http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html .
[Editar:Adicionado um exemplo. ]
Por exemplo, substitua o conteúdo de sua primeira função por:
SqlCommand insertNewAreaPath = new SqlCommand(
"INSERT INTO InterationPath (ID, NodePath) VALUES(@ID, @NodePath)",
conDS_ReleaseCriterions);
insertNewAreaPath.Parameters.Add("@ID", dr[0]);
insertNewAreaPath.Parameters.Add("@NodePath", dr[2]);
insertNewAreaPath.ExecuteNonQuery();