Hmm, well I think you are kinda "over-writing" the intention of the return value for GumpWait since you aren't really using it now in this context. So I think there's some unintended consequences to your usage.
With that said, I have used the #RESULT variable for general purposes many times; sometimes I just don't want to create a variable in a quicky sub, i.e.:
;------------------------------------------------------------
sub TM_GetPersistantVariable
set #RESULT %1 , _ , #CHARID
set #RESULT * . #RESULT
return #RESULT
;------------------------------------------------------------
sub TM_SetPersistantVariable
set #RESULT %1 , _ , #CHARID
set * . #RESULT %2
return
Personally, I get a chuckle out of people who will jump through no end of hoops to rid themselves of goto's and tags. Oh, *chuckes*