Une solution (à essayer... je ne l'ai pas zsswayée moi-même...) :
Cacher la barre des tâches et la réafficher aussitôt après.
Inspire toi de ceci (utilise un bouton de commande pour déclencher, par exemple) et essaye, pour voir si ta barre se rafraichit :
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Form_Activate()
Dim X As Long, fenhwnd As Long, fen As String, ret As Long
fen = Space(256): fen = "Shell_TrayWnd"
fenhwnd = FindWindow(fen, vbNullString) ' pour définir le handle de systray
ret = ShowWindow(fenhwnd, 2) ' il faut d'abord la "montrer", pour le cas où elle serait "masquée"
'par l'utilisateurs (choix windows, en dur)
DoEvents
ret = ShowWindow(fenhwnd, 0) ' on cache la barre des tâches
depart = Timer
While Timer < depart + 5 ' on attend ici 5 secondes, par exemple
DoEvents
Wend
ret = ShowWindow(fenhwnd, 1) ' on affiche la barre des tâches
End Sub