(3) Например, не завершать транзакцию, если не получено подтверждение от 1С. Если таймаут или ошибка в 1С то откатывать. Делать это последним этапом, чтобы минимизировать риск отлупа транзакции уже после получения подтверждения от 1С.
(5) Можно вести журналы распределенных транзакций где одна из сторон выступает координатором распределенных транзакций. С записью информации необходимой для отложенного отката.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан