bueno ya que ve que parece funcionar pongo en este mismo hilo una pequeña subrutina para agregar iconos de 32 bits a los ImageList
Option Explicit
Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal iImageType As Long, ByVal cx As Long, ByVal cy As Long, ByVal fFlags As Long) As Long
Private Declare Function ImageList_ReplaceIcon Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, ByVal hIcon As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
'LoadImage constantes
Private Const LR_LOADFROMFILE As Long = &H10
Private Const LR_LOADMAP3DCOLORS As Long = &H1000
Private Const LR_SHARED As Long = &H8000&
Private Const IMAGE_ICON As Long = 1
Public Sub ImageListAddIcon32(ImageL As ImageList, Address As String, Optional FromRes As Boolean)
Dim hIcon As Long
ImageL.ListImages.Add , , ImageL.Parent.Icon
hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, ImageL.ImageWidth, ImageL.ImageHeight, IIf(FromRes, LR_SHARED Or LR_LOADMAP3DCOLORS, LR_LOADFROMFILE))
ImageList_ReplaceIcon ImageL.hImageList, ImageL.ListImages.Count - 1, hIcon
DestroyIcon hIcon
End Sub
y se aplicaria algo asi
Option Explicit
Private Sub Form_Load()
ImageListAddIcon32 ImageList1, App.Path & "\Close.ico" 'leer desde archivo
ImageListAddIcon32 ImageList1, "ICON_0", True 'leer desde recursos
Toolbar1.ImageList = ImageList1
Toolbar1.Buttons(1).Image = 1
Toolbar1.Buttons(2).Image = 2
End Sub
si se utilizan iconos desde recursos y se esta en el IDE de vb se va a ver los iconos del formulario pero cuando se complie se va a ver los iconos reales.
ademas si se ponen los temas de xp (.manifest) , los iconos se ven mejor ya que se elimina la sobra alpha de los iconos 32 bits.
Saludos