Здравствуйте, Northsoft, Вы писали:
На первый взгляд нормально, разве что немного смущает пара моментов. Во-первых, флаг PIPE_NOWAIT. Для асинхрона он не нужен, да и вообще не рекомендуется к применению. Лучше-бы убрать, хуже точно не будет

Во-вторых, настораживает глобальность переменной ovlGlobal. Она у Вас точно не участвует одновременно ещё в каком-нибудь вызове?