The conversion of the ROI from anatomical resolution to the functional image resolution can be done with the 3dfractionize command as in the example below from the hands-on documentation. The clip level determines what fraction of the ROI has to be covered to be part of the new, resampled ROI. You might be able to adjust that to match what you want.
3dfractionize -template func+orig \
-input ROI_high_res+orig \
-clip 0.5 -preserve -prefix ROI_low_res
Another option would be to create your ROIs on the functional dataset, but you'd have to create a single sub-brik dataset to do that (either extracting a single sub-brik, an averaged sub-brik, a max sub-brik, or something else). You could use various commands to create this single sub-brik such as 3dcalc or 3dTstat.
I'm not sure why any other program would allow you to draw an ROI more precisely, but to get the ROI data from other software should not be too hard. You could create a mask from the ROI in that other software on some dataset with the same resolution and import that dataset into AFNI with to3d. Use a 3dcalc command to create a dataset with a value of 1,2,3,4,.... for each ROI/mask, e.g. "3dcalc -a maskimport+orig -expr '2*step(a)' "