I think originally I was using a "zone_" variable for the button label but at some point I switched over to the variables that Dave pointed out "{{av_{{{{activeroom_{{clientname}}}}_avamp_id}}_volume}}". Or if you want the actual db value then you can use "{{av_{{{{activeroom_{{clientname}}}}_avamp_id}}_volume_db}}".
You were definitely using a "zone" variable, but I've been using "{{av_2_volume_db}}" for my overlay button pretty much from the time that I first implemented this. I don't really care about having a volume overlay in the bedroom (the receiver is in plain sight from my bed so I can see the volume on the receiver display) so I didn't think it was a big deal to do it this way.
Let me see if I can possibly explain this in a bit more detail. Apologies for rehashing my previous post and laying this out in such exhausting detail...it's really more to help me make heads or tails of this than anything else.
The theater receiver is device id #2, and thus it's associated server variables are of course labelled av_2_*** in myServer. The bedroom receiver is id #32, and it's corresponding variables are av_32_***
When I set the theater as active the theater receiver is correctly set as active for that remote, as you would expect. As an example, I'm currently looking at the variable "active_denon_remote1" (the remote in my hand) and it's value is 2, corresponding to the theater receiver myServer ID. When I press the volume up hard button on my remote it's linked to "volumeup.{{activeroom_{{clientname}}}}", triggering my volumeup.theater macro. Inside that macro is the command "AV|{{theater_avamp_id}}~Volume~Up!" along with the other commands you originally outlined in your tutorial on how to do the overlay in the first place. The volume on the theater receiver indeed does actually increase and the overlay pops up as it always has, however the number on the button overlay stays at 37 (where it was when this stopped working in the first place).
When I go under the Denon driver page and twirl down to see the variables for the theater receiver and bedroom receiver I see "av_2_power" set to zero, indicating myServer thinks the theater receiver is still turned off. It is actually now turned on. Likewise, "av_32_power" is now set to 1 (it is actually off, and has been off) . This is obviously the reverse of what it should be.
If I look at "av_2_volume_db" it is set to -37. If I look at "av_32_volume_db" it is set to -25. If I adjust the volume up or down and refresh the server variables in the driver page it is "av_32_volume_db" that changes accordingly, not "av_2_volume_db".
I guess I'm having a hard time wrapping my head around how switching to something like {{active_denon_{{clientname}}}} for tracking purposes is going to change the situation. Those variables are already being set to the correct receiver ID. I don't understand how the remote is physically controlling the proper receiver but updating the variables for a completely separate device ID.
Regardless, I'm going to play around with using these other variables to see what happens, but I don't have high hopes. Even still, I GREATLY appreciate the feedback from both you and Dave. At least I have something else to look at since I've been banging my head against a wall on this for a few days now. If either of you (or for that matter anyone else reading this) have any other ideas I am all ears.
For grins, I just changed my overlay button variable from "{{av_2_volume_db}}" to "{{av_32_volume_db}}". Pressing volume up is still physically changing the volume in the theater, but now the overlay volume button is changing values, even though the bedroom receiver is still turned off and the active room is still set to the theater. This is what I thought would happen, but the whole situation is still bizarre.