Try this for another flavor:
Say your surface is SURF and the number of nodes on your surface is: N
#Create a constant
1deval -num $nn -expr '+5' > tt.1D.dset
#Find extrema with thresholds turned off
SurfExtrema -i SURF -input tt.1D.dset -hood 15 -thresh 0 -gthresh 0 -prefix isodist
The file isodist.ext.1D.dset contains a 1 for each node that represents the center of the ROI. You can grow the result if you like with:
ROIgrow -i SURF -roi_labels isodist.ext.1D.dset -roi_nodes isodist.ext.1D.dset -lim 15 -full_list -prefix isodist.grow
Keep in mind that the distance is computed geodesically (along the edges of the mesh), so the shortest geodesic distance between two nodes is an approximation of the shortest distance possible along the surface. But the result should be a decent approximation of what you want.
cheers,
Ziad