Один из способов справиться с этим - заключить веб-часть XmlFormView в пользовательскую веб-часть и ответить на событие SubmitToHost. Для этого вам нужно установить опцию «Отправить» в InfoPath в «Среда хостинга». Таким образом, вы можете сохранить форму в любой библиотеке на основе кода и других данных формы.
Некоторые советы по упаковке XmlFormView см. «Как мы это сделали - автоматизация запросов на обслуживание с использованием служб InfoPath Forms»
Что касается библиотеки, которую вы можете выбрать, у вас может быть дополнительный источник данных в форме, который указывает на список SharePoint для отделов и URL-адрес библиотеки, в которую будет отправлена форма. Ваш код может затем получить список для отправки из данных формы.
Что касается маршрутизации утверждения в новую библиотеку, то это похоже на пользовательский рабочий процесс или обработчик SPItemEvent. Во втором случае вы можете ответить на событие ItemUpdated и создать копию формы в новой библиотеке форм. Не уверен, что вы могли бы сделать это с рабочим процессом SPD 2007.
Надеюсь, это немного поможет.