VB cannot read alphablended icons (as are common in XP), nor can it read icons that contain PNGs (available in Vista ico formats).

If the icon has multiple color depths, using icon software, you can rewrite the icon so that the lower bit depths are stored first. In those cases, VB can read what it needs even though higher bit depths (alphablended) may exist.

Here's a short FAQ topic worth reading