На самом деле TOmniWorker на самом деле не поддерживает идиому «монолитный блок выполнения + обмен сообщениями».Вся идея TOmniWorker состоит в том, что большая часть кода выполняется в обработчиках сообщений (и в коде, вызываемом из них, конечно) - как это происходит в типичном однопоточном приложении Delphi.
Вы можете простоотправьте специальное сообщение («Старт!») и начните выполнение в обработчике сообщений, но имейте в виду, что сообщения не будут обрабатываться во время выполнения вашего обработчика сообщений.[Если быть более точным - вы можете отправлять их, но если вы хотите получать их, вам придется делать это вручную через Task.Comm.Receive.] Это не совсем неожиданно, поскольку каждый TOmniWorker является однопоточным окружением, и хотявыполняет обработчик сообщений, он больше ничего не может делать.