The file has 25 sections with 25 headers and only the last one is loaded, so in the present case, the first 12096 lines would be considered header, not sure if this is useful - apparently not. Can't you just write out the result into separate files or just discard whatever comes at the beginning?
With mtex5.0.1, the error message is the following (Using 'exact', no error is thrown but the odf is empty since nothing is loaded):
odf = loadODF(fname,CS,SS,'density','kernel',psi,'resolution',5*degree,...
'interface','VPSC')
Error using *
Inner matrix dimensions must agree.
Error in deg2dim (line 3)
d = l*(2*l-1)*(2*l+1)/3;
Error in FourierComponent/set.bandwidth (line 44)
newLength = deg2dim(L+1);
Error in FourierComponent (line 35)
component.bandwidth = find(component.power>1e-10,1,'last');
Error in ODF/FourierODF (line 18)
odf.components = {FourierComponent(f_hat,odf.CS,odf.SS)};
Error in orientation/calcFourierODF (line 54)
odf = FourierODF(odf,get_option(varargin,{'L','bandwidth','fourier'},L,'double'));
Error in orientation/calcODF (line 64)
odf = calcFourierODF(ori,varargin{:},'kernel',psi);
Error in loadODF_generic (line 113)
odf = calcODF(ori,'weights',weights,'silent',varargin{:});
Error in loadODF_VPSC (line 16)
[odf,options] = loadODF_generic(fname,'bunge','degree',...
Error in loadData (line 106)
data{k} = feval(['load' type '_',char(interface)],...
Error in loadODF (line 31)
[odf,interface,options] = loadData(fname,'ODF',varargin{:});