Так называемая "двойная буферизация" решается просто, нужно запретить перерисовку фона окна, но тогда это придётся делать самостоятельно.
Так запрещаем перерисовку фона
Код:
WM_ERASEBKGND :
begin
Result := 1;
Exit;
end;
но теперь в сообщении WM_PAINT, нужно самим залить фон нужным цветом.