A mio avviso, per trattare questo tipo di problemi lo strumento più adatto è costituito da i thread, che Delphi permette di costruire senza sforzi eccessivi.

Per saperne di più, consulta questo tutorial molto ben fatto, secondo me.

Ciao!