Помните, строки неизменны.Поэтому вам необходимо присвоить возвращаемое значение метода Replace (обратите внимание, что он возвращает объект String) обратно в вашу переменную.
if (filterXml.Contains("&"))
{
filterXml = filterXml.Replace("&", "&");
}
Если вы много работаете с объектами String, убедитесь, чточтобы прочитать справочную страницу String