Y de lo de la decodificación, de hecho el primer paquete que compartiste se podía decodificar, pero yo no tenía en cuenta unos detalles, aqui te dejo el código.
Código: Seleccionar todo
procedure TForm1.Button7Click(Sender: TObject);
var input: TStringList;
output: TMemoryStream;
sAux: string;
begin
input := TStringList.Create;
input.LoadFromFile('D:\Proyectos\Varios\post web\DescargaSatWS\paquete.b64');//Si no cargas desde un archivo y lo haces desde memoria, sólo hay que pasar a sAux la cadena base64
output := TMemoryStream.Create;
sAux := copy(input.Text, 1, length(input.Text) - 2);//Aqui hay que eliminar un enter que agrega el TStringList cuando llamamos su propiedad Text, por esos bytes extra no funcionaba la decodificación
IdDecoderMIME1.DecodeToStream(sAux, output);
output.SaveToFile('D:\Proyectos\Varios\post web\DescargaSatWS\paquete.b64.zip');
output.Free;
input.Free;
end;