С подачи уважаемого injun-а, ознакомился с методикой обновления AIR приложений с помощью Adobe AIR Update Framework. Необходимые библиотеки встроены в AIR 1.5 и использование действительно несложно, не буду копипастить. Одна беда: приложение на Flex 4 упорно отказывалось обновлятся, высмаркивая ошибку "Error #1007: Instantiation attempted on a non-constructor."
Возможно, у этой проблемы есть решение, но я не нашел его и сделал workaround. Весь небольшой код, который отвечает за апдейт, был вынесен в отдельную swf-ку и скомпилирован с помощью Flex 3 SDK. Чтобы подключить эту swf-ку, в код приложения на Flex 4 надо вставить вызов:
<mx:SWFLoader id="updater"
visible="false"
height="0"
width="0"
source="updater.swf"
loadForCompatibility="true" />
Последний аттрибут позволяет использовать swf-ку созданную Flex 3 SDK внутри приложения Flex 4 и при этом не смешивать контексты. Это возможно благодаря штуке под названием Marshall Plan - с ее помощью можно подгружать не только swf-ки разных версий, но и разного происхождения (загруженные из сети и локальные).
Минимальный набор для реализации auto-update - исходник swf-ки и пример дескриптора апдейта.