Я бы сказал, что из-за того, что объект XML не имеет статической структуры, он открывает широкие возможности для проникновения ошибок в системы, а также делает код намного менее читаемым и понятным.
Так что я бы сказал, да, класс - это путь, это дополнительные усилия, но ваша система намного более структурирована из-за этого.
В прошлом я экспериментировал с переносом классов вокруг объектов XML, но это может сделать код внутри этих классов довольно грязным.
В настоящее время я экспериментирую с привязкой объектов XML к объектам с использованием класса XMLObjectBinder, который я написал (проекты на чистом ActionScript, а не Flex), так как я считаю этот подход наиболее чистым, поскольку XML находится вне поля зрения как можно скорее. Таким образом, мои классы стали чище из-за отсутствия в них XML, и привязка обычно выполняется в одну строку с фабрики.
Что касается возможности поиска, я согласен, что вы потеряете это, но я бы сказал, что фабричный шаблон в сочетании с некоторой привязкой XML к объекту устранит многие из этих проблем.