Robin,
> Are you planning on updating the functionalities in the future to support big-datasets? Maybe make
> them create temporary files on the hard-drive instead of keeping it all in the RAM?
It seems that the memory crash happened when 3dMVM was trying to save the results to the output file. One easy solution is to break the input files into a few chunks. For example, suppose there are 90 slices along the Z-axis, use 3dZcutup to create 3 separate files: one for slices 1-30, one for 31-60, and one for 61-90. Do this in a loop for all the input files. Then run 3dMVM for each of the three chunks separately. In the end glue them back with 3dZcat.
> In this standard approach, would it also be OK to use the 3dMVM residuals instead of the pre-proc residuals?
FWIW, there is no such an approach that could be considered "standard". You're trying to draw a rigorous line in the sand, but there are so many factors up for debate.
Gang