In looking through the source code for flameo, it looks like degrees of freedom is calculated using:
tdofs[t](px,py,pz) = ntpts - nevs;
So, in the model I sent earlier, ntpts=32 and nevs=11, which I think explains the degrees of freedom problem.
Eric