I'm beginning to wonder if the variable being utilized within the other variable has something to do with why it's not working for me -- however, when I replace the $(ThisMonth) variable with its expression, it does not work for me either.
It didn't work because your nested variables contain commas which will be always treated as parameter-delimiter. AFAIK there is no way to mask them or to bypass this behaviour unless you could ensure with a different logic/syntax that there no commas included.
Beside this it's not recommended to use nested variables because of the complexity of the matter - not only the comma-issue else also in regard to the various kinds of quotes, comments, $-sign expansions and probably some more reasons.
Even the creating of those variables itself is questionable because variables should simplify things which they don't in this case. I suggest to avoid them and using an appropriate field from the datamodel, maybe like:
year(DATE) * 12 + month(DATE) as RunningPeriod
and then querying the max. value within the set analysis +- n Periods for those periods you want to display.