Tienes que manejar transparencias directa o indirectamente.
VB6 sólo maneja directamente formatos de imagen como BMP, RLE, GIF Y JPG (aparte de los WMF y EMF y en determinadas situaciones los ICO).
* Un modo de consegir lo que quieres es construir una librería que soporte formatos PNG, (que utilizan transparencias). Si te decides crear una librería (de éste u otro tipo) podrías usar como punto de partida las funciones que ofrece la librería GDIPlus.dll que son bastante potentes, encapsulando las funciones que necesites y de modo uniforme y simplificada.
* Otro modo es construirte tus propios controles manejando las APIs para conseguir las transparencias y degradados.
* Se puede hacer 'a pelo' en vb6, pero salvo que conozcas profundamente vb6 y seas bueno creando algoritmos potentes, tendrías un problema de rendimiento, además necesitarías tener unos conocimientos sólidos sobre los 'DC' y en cualquier caso requiriría usar algunas API, ya que VB6 no dispone de determinada funcionalidad.
* Una opción más es podrías recurrir a las DirectX, pero como puedes imaginar también necesitas conocimientos amplios en este tema.
* ...y por último también podrías recurrir a alguna librería gráfica ya disponible (para VB6). Quizás no tenga todo lo que tu quiesieras pero seguro que tiene más de lo que ahora mismo puedas tener.
Sea el caso que sea, necesitas ciertos conocimientos extras en la dirección que tomes y que teniendo en cuenta la pregunta que haces, asumo que no posees, lo que no quita que puedas adquirirlos con el esfuerzo debido.