Достаточно одного узкого места, чтобы поставить колом всю систему.
Частично асинхронная система лучше, чем система вообще без асинхронности.
Но хуже, чем полностью асинхронная.
Создание и поддержка множества процессов и потоков для синхронной обработки - операция недешевая, даже если они в находятся в состоянии ожидания. На практике это выглядит как бешеный рост LoadAverage.
Асинхронность позволяет держать фиксированное количество рабочих процессов (в идеале, по одному процессу на каждое процессорное ядро). Процессы создавать не надо, переключать почти не надо - в биткойне у меня такая схема обрабатывала тысячи одновременных коннектов с загрузкой cpu менее 1%.
AutoIt мог бы такое делать через Internet Explorer или Firefox:
http://stackoverflow.com/questions/15052540/autoit-how-can-i-write-in-an-input-field-on-a-browser
Содержимое загрузочного сектора на FAT32-разделе посмотреть можете?
Какие системные файлы ищет загрузчик? IO.SYS?
Если да, то фридосовский KERNEL.SYS положите на тот раздел под именем IO.SYS
И ещё нужен COMMAND.COM
Этого достаточно для старта системы.
А вообще лучше сначала поиграться с FreeDOS в VirtualBox'e, с попутным плотным чтением документации по ней.
Или запускайте с флешки SystemRescueCD, в него входит образ флоппи-диска с FreeDOS.
Обычный OpenVZ имеет в ядре модуль vzevent, который посылает в юзерспейс оповещения о перезапуске контейнеров. Их должен ловить демон vzeventd, который вызывает обработчики start/stop/reboot/mount/umount.
Либо в PWS такой функционал ещё не допилен, либо хостер его не настроил. Скорее второе.