В исходном скрипте есть такие команды:
var commandPath = HostFB.TreeItemHlp.Project.GetRelativeName(HostFB. TreeItemHlp.Parent, item, false); //относительное имя команды
var commandName=HostFB.TreeItemHlp.Project.GetRelative Name(HostFB.TreeItemHlp.Parent, command, true).Replace(";", "_");
Именно эти команды и имеют в строковом представлении указанные вами символы. Зачем вы вообще их пишете?
Может вам просто у скрипта сделать набор входов, на них подать сигналы и сохранять в файл значения с этих входов?
Нужно в этой строчке, вместо false поставить true:
using(var file = new StreamWriter(FilePathName, false, Encoding.GetEncoding("windows-1251")))
Подробнее здесь:
https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx