Antes de usar AddMasked usa Clear para borrar el contenido del TImageList, de lo contrario las imágenes que añades lo harán a continuación de las que ya están. Es decir algo así:
Código Delphi
[-]
ImageList1.Clear;
ImageList1.AddMasked(tempBmp, tempBmp.Canvas.Pixels[0,0]);