Masking Surface Data

In the volume, it is possible to retrieve all of the values in an ROI using the 3dmaskdump command. Is there a similar workflow for the surface?
For instance,
Step 1: select surface nodes by drawing an ROI on the surface with the SUMA drawing tool and save as test.niml.roi
Step 2: Create a dataset of functional values for each node with 3dVol2Surf -grid_parent fMRIdataset -out_niml data.niml.dset
3dmaskdump -mask test.niml.roi data.niml.dset
fails with
** FATAL ERROR: Input and mask datasets are not same dimensions!

One solution is to first use ROI2dataset with the -pad_to_node option on your ROI then run 3dmaskdump/3dmaskave/3dROIstats.