Por defecto los labels soportan el color transparente de fondo.
Creo que deberias intentar en tu "User Control" cambiar el tipo de paint que vas a hacer, y colocarle
Código:
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.Opaque, true);
Creo que el ultimo es más importante (Opaque) por que no dibujara fondo por defecto, y las areas cubiertas/ocultas por otro control no son pintables, por las regiones visibles según el objeto Graphics, y los "Bounds".