I am trying to use mri_surf2surf to resample surface data in mgh format from ico4 to ico3. There is an apparent bug, however, in that the output file has the same dimensions as the input file despite srcicoorder = 4 and trgicoorder = 3. I am using ico for both srcsubject and trgsubject.  This problem occurs in versions 4.5.0 and 5.1.0 (and presumably other versions as well). I have the same problem when trying to go from ico4 to ico7.

command line:
mri_surf2surf --srcsubject ico --trgsubject ico --srcicoorder 4 --trgicoorder 3 --sval dSPM_cond17-lh.mgh --tval dSPM_cond17_ico3-lh.mgh --hemi lh

output:
srcsubject = ico
srcval     = dSPM_cond17-lh.mgh
srctype    =
trgsubject = ico
trgval     = dSPM_cond17_ico3-lh.mgh
trgtype    =
srcsurfreg = sphere.reg
trgsurfreg = sphere.reg
srchemi    = lh
trghemi    = lh
frame      = 0
fwhm-in    = 0
fwhm-out   = 0
label-src  = (null)
label-trg  = (null)
   Reading icosahedron /usr/pubsw/packages/freesurfer/RH4-x86_64-R450/lib/bem/ic4.tri
Source Ico Order = 4
Loading source data
INFO: trgsubject = srcsubject
Saving target data


A work-around is to specify the trgsubject as an "average" subject in the desired (e.g. ico 3) resolution.