Вероятно, проблема вызвана тем, что ваш XSLT-код создает какой-то вывод, который не является правильно сформированным XML-документом, а представляет собой только фрагмент, возможно, имеющий несколько элементов верхнего уровня. Это возможно с XSLT, и если вы просто пишете в файл или поток, у вас не должно возникнуть никаких проблем. Ваш код по причинам, которые вы не объяснили, создает XmlWriter поверх MemoryStream, и по умолчанию любой XmlWriter, созданный с помощью XmlWriter.Create (stream), проверяет, что любой вывод является правильно сформированным XML-документом, и выдает исключение, если нет.
Поэтому, чтобы избежать проблемы, вы либо вообще не создаете XmlWriter, а просто делаете
xslt.Transform(xmldLookup, Nothing, xStream)
или вы создаете XmlWriter с помощью OutputSettings экземпляра XslCompiledTransform, например
Using xw As XmlWriter = XmlWriter.Create(xStream, xslt.OutputSettings)