This is one of those iffy questions. If the subreport updates the shared variable, and it does it before the reset formula...well who knows what is going to happen.
Typically what I will do, just to be sure of the order of when things occur, is to create another groupheader (add section before) and I will place my reset formula there and suppress the section. This way, I know that the variable is reset before it goes to a subreport, and if there are no records in the subreport, it probably won't reset the variable as it is not called...or so it seems.
HTH