Объясните, пожалуйста, на пальцах

где и когда использовать вызов Application.ProcessMessages и зачем это нужно в XP, ведь это вроде многозадачная ОС. Или киньте ссылкой.
Хочется также узнать, что делать, если у программы нет ни одного окна (например, это dll), но есть большой цикл,

нужно ли тогда использовать subj.