Thank you for helping out.
I tested the "use dimensions" model, but if I convert it to a component I get the following error messages when I try to open the component attributes window:
1st popup: no entity data returned
2nd popup: error: callback function error: unable to get property 'length' of undefined or null reference @ / dcbridge.js[601]
I hadn't even thought of using a dimension line since I was so focused on the label. I started a new sketchup file and created a panel with a dimension line. Turned that into a component and gave the dynamic attribute option to edit LenX with a textbox. Worked perfectly and the dimension changed with the size of the part. Problem though... The machining software ignores the dimension completely and only imported my panel... Same thing when I tried to import your model as well.
I tried the other option you suggested with the model "auto label". I understand what you mean about it being involved, however the labels do change with the size just as I was hoping for. It gets a bit weird with longer strings (ex: if I enter 24.125" as the size, it displays 24.122), but I'm sure it wouldn't be that difficult to sort out.
The problem again is with the machining software. It is putting the labels outside of the part (see attached "auto label - machining example"). This may stem from the way the machining software handles nested components. The software keeps and child components together with a parent component that has a double underscore at the start of the name (ex: __sheet).
When I make a component, I create the part first without any labels and make it a component (__Name). Then I edit the component and apply the label to the top face. This allows it to import correctly into the machining software.
While I was writing this reply I thought I should see if there was at the minimum an extension that allowed me to edit label text. I discovered an extension called "Flat Text". It is essentially the same flat model text that I'm already using, but it allows me to edit it after placing it. That means I can include a bunch of placeholder labels in my dynamic components that I can go back into and edit once I receive the desired sizes from my customer.
It will still be done manually by me, and it will still be tedious, but it should be faster than applying completely new labels each time. Also, it imports correctly into my machining software as long as the parent component has the double underscore. I will try to use this method for now (emphasis on TEMPORARY SOLUTION lol) while I continue working out a way to automatically generate the labels.
I'm going to reach out to the developer to see if there is any way I can use their extension to automatically report properties of a dynamic component.