Les données que vous insérez contiennent probablement des caractères spéciaux comme des guillemets simples. Passez à une requête paramétrée afin que les valeurs soient correctement échappées. Un bon exemple et une explication sont http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html .
[Edit :Ajout d'un exemple. ]
Par exemple, remplacez le contenu de votre première fonction par :
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();