Кажется, я нашел проблему.Когда индикатор выполнения выполняет рисование, он отправляет сообщение WM_ERASEBKGND в диалоговое окно, чтобы получить фон, на котором он будет рисовать.Кое-как портится происхождение кисти DC.Использование следующего кода в начале функции, похоже, решило проблему без вредных последствий.
CRect rcClip;
pDC->GetClipBox(rcClip);
pDC->SetBrushOrg(-rcClip.left, -rcClip.top);