Si tu aurais une peu de code à mettre pour voir comment ça se passe.
Sinon, dans ma librairie, lorsque je met de la couleur ou autre à une élément, j'oblige la liste à être redessiner avec l'API RedrawWindow. Si je ne met pas cette API, les couleurs ne sont pas mises tout de suite, elles le sont lorsque les événement Paint(Repaint) sont envoyés par le système. Tu peut l'utiliser pour obliger les éléments à être affichés.
Tu peux aussi utiliser le message #LVM_REDRAWITEMS qui force les éléments à être redessinés. wParam est l'index du premier élément à redessiner, sachant que le tout premier de la liste a l'index 0 et lParam est l'index du dernier élément à redessiner, ce message évite de tout redessiner.
SendMessage_(GadgetID(#Gadget), #LVM_REDRAWITEMS , wparam, lParam)
Voici l'équivalent en PB de ce que j'utilise dans ma lib :
RedrawWindow_(GadgetHwnd, 0, 0, 7) ou GadgetHwnd = GadgetID(#Gadget) ou si c'est sur le header de la listIcon, HeaderID().