mira la verdad no soy ningun experto y como no logro darme cuenta de que es lo que puede estar saliendote mal, te muestro el codigo qeu yo uso para salvar la imagen ( yo trabajo sobre unTimage) y fijate si te sirve:
Código Delphi
[-]
procedure TForm15.guardarClick(Sender: TObject);
var
bmp:TBitmap;
begin
bmp := TBitmap.Create;
bmp.Width:= Image1.Width;
bmp.Height:= Image1.Height;
bmp.Canvas.CopyRect(Rect(0,0, bmp.Width, bmp.Height), Image1.Canvas,Rect(0,0,Image1.Width,Image1.Height));
ojala te sirva, saludos!