I know space is cheap these days, but is there a reason for Refmac to generate all those extra columns in the output mtz file?  Refmac (as well as phenix.refine and buster-tnt) output mtz file is almost always used for only one purpose - look at the map in coot.  You only need 4 columns for that, not 14.  Other columns are useful for testing, but why not make them optional?

a phenix.refine run creates an MTZ file with four kinds of data:

1) Copy of input data. Why? For convenience and consistency. Inputs may not necessarily be in MTZ format and may be spread across multiple files of different format.

2) Data that were actually used in refinement. Why? A user has options to cut resolution from both ends, as well as apply cutting by sigma. Plus, phenix.refine may choose not to use a handful of reflections as outliers (Read, 1999). So it may be good to have set of reflections that were used in given refinement run.

3) Model in reciprocal space: Fmodel. Why? This is a reciprocal space representation of what's in PDB file except that it is richer because contains not only atomic model (Fcalc) but also solvent contributions (bulk and non-uniform) as well as all scales. Fmodel taken from this array and Fobs from "2)" are expected to reproduce reported R-factor exactly.

4) Fourier map coefficients (2mFobs-DFmodel, mFobs-DFmodel, anomalous map if applicable).

"1)" and "3)" can be optional:
    - with trivial scripting one can obtain Fmodel using data from "2)" and "4)". 
    - "1)" duplicates inputs. It's not unreasonable to assume they are still available by the time you finalize your structure. 
But.. as you pointed out space is cheap and personally I find it much easier to have relevant arrays of data centralized in one place (file) rather than scattered across hard drive.

All the best,
Pavel