Mahlzeit!
Hat der transparente Hintergrund deines Bitmaps möglicherweise nicht die Farbe
rgb(255,0,255) (Pink)?
Ich würde es testweise mal damit versuchen:
bmp.TransparentColor := bmp.Canvas.Pixels[0,0]
Sofern der linke obere Pixel des bmp zum transparenten Hintergrund gehört.
Gruß Bear