Puedes usar algo similar a esto:
Código:
var
File1:TStream;
...
File1 := S.DataSet.CreateBlobStream(S.DataSet.FieldByName('Fichero'), bmread);
try
File1.Seek(0, 0);
FS := TFileStream.Create(FileName, fmCreate);
// Bloque de proteccion para liberar
try
// Copiar el contenido
FS.CopyFrom(File1, File1.Size);
finally
FS.Free;
end;
finally
File1.Free;
end;