У меня была та же проблема (и решена ее), пытаясь разобрать XML-документ с помощью freemarker.
У меня не было пробелов перед заголовком XML-файла.
Проблема возникает тогда и только тогда, когда кодировка файла и атрибут кодирования XML различны. (например: файл UTF-8 с атрибутом UTF-16 в заголовке).
Итак, у меня было два способы решения проблемы:
используйте SearchOption. Параметр AllDirectories:
using System.IO;
Directory.GetFiles(@"C:\", "*.mp3", SearchOption.AllDirectories);