Если есть какие-то более правильные способы реализации подобного функционала, я их с удовольствием выслушаю.
Сколько людей - столько и мнений.
Поэтому у меня следующие вопросы:
1) В вашем представлении о работе платформы есть неточности. Если на пальцах, то на самом деле все выглядит следующим образом. При авторегистрации или при регистрации программно согласно алгоритмов в таблице узла ничего не происходит. На самом деле происходит заполнение таблиц "Изменения", которые подчинены регистрируемым объектам. К этим таблицам можно даже обращаться запросами. Для примера у складов таблица для запроса будет иметь вид
Справочник.Склады.Изменения. Эти таблицы состоят из трех колонок - ссылка на оригинальный регистрируемый объект, ссылка на узел куда регистрируем и номер пакета. Сразу после регистрации номер пакета не заполнен и заполняется конкретным номером только в момент формирования пакета данных на отправку. Детальнее про работу с планом вам все же придется почитать в документации.
2) С помощью периодического вызова метода ПланыОбмена.ВыбратьИзменения(). Он возвращает выборку из уже зарегистрированных для отправки объектов. Детальнее в справке.
3) Если вам нужно формировать XML-файл, к структуре которого есть строгие требования, которые желательно сразу проверить на соответствие схеме, то да. Если вам нужно просто создать XML-файл (а еще лучше JSON), то просто создайте в памяти из массивов, структур и соответствий требуемый вам объект и далее сериализируйте его в нужный вам формат с помощью функций ЗаписатьXML() или ЗаписатьJSON().