Gdzie wywołujesz poprzednią procedurę obsługi okna? BeginPaint i EndPaint robi się chyba tylko raz (i już wywoływane jest w tej poprzedniej procedurze obsługi), powinieneś użyć GetDC i ReleaseDC. Zresztą po co bawić się w rysowanie, nie prościej stworzyć BUTTON z obrazkiem znajdujący się nad listą? Takie ręczne rysowanie jest dosyć wolne...