L'area della finestra viene ridisegnata quando la finestra viene ridimensionata/spostata/parti della finestra che erano coperte da altro diventano visibili/eccetera.
Il modo corretto per gestire la questione è disegnare nel WM_PAINT, ovvero quando Windows ti dice "OK, ora bisogna ridisegnare lo sfondo della finestra, tieni questo DC e lavora". Per forzare un WM_PAINT puoi usare la InvalidateRect, oppure puoi usare un approccio ibrido e disegnare quando ti serve, ma salvarti quello che hai disegnato (o in termini di "ho disegnato un ellisse fatto così, una linea fatta cosà, ..." o in una bitmap) e ridisegnarlo nel WM_PAINT.

Rispondi quotando