Think of it like this: all of the betas and statistics that 3dDeconvolve outputs comes out of a gltsym, but the syms for the stims you input are generated by default, without you having to request them. So if you have
3dDeconvolve ... \
-stim_times_AM2 1 foo.1D "BLOCK(4,1)" -stim_label 1 foo \
-stim_times_AM2 2 bar.1D "TENT(0,10,6)" -stim_label 2 bar \
...
then implicitly you also have
-gltsym 'SYM: +foo[[0..1]] \ +bar[[0..5]]' -glt_label 1 full_model \
-gltsym 'SYM: +foo[[0..1]]' -glt_label 2 foo \
-gltsym 'SYM: +bar[[0..5]]' -glt_label 3 bar
If you change the basis of the stimuli at random, you can always recover the original output by changing the basis of the gltsyms correspondingly (up to numerical error, which can be large for some choices of random basis change).