Я отправил этот вопрос после того, как нашел ответ только потому, что это было для меня таким бедствием, которое мучило меня в течение многих месяцев. Надеюсь, этот пост помешает кому-то еще вырвать их волосы, как я делал так долго.
Исправление довольно простое. Каждый раз, когда Excel импортирует XML-файл, он сохраняет XML-карту в этой электронной таблице. Поэтому, если вы используете одну и ту же электронную таблицу и продолжаете ее сохранять, они со временем накапливаются. Лучшее решение, которое я нашел, это просто удалить эти xml-карты или использовать одну и ту же (много раз последняя не очень хорошая).
Вот код для удаления всех из них (я просто запускаю его перед кодом, который я включил в свой вопрос):
Dim XmlMap as XmlMap
For Each XmlMap In ActiveWorkbook.XmlMaps
XmlMap.Delete
Next