Hi Brian,
I think I found the reason. It has to do with how you've built the visual logic. This might be kind of tricky to explain so let me know if I'm confusing you or not..
There are parts of your visual logic where you are setting a value like BlueCenter.ScaleX in one part of your visual logic, and then in another part of the visual logic you are using BlueCenter.ScaledWidth. The ScaledWidth is obviously dependent on the ScaleX value as changing Scale will change the overall width. What you need to ensure is that your visual logic sets the Scale before it runs the part that uses the ScaledWidth. The only way to ensure that is to place those separate visual logic chunks onto different "pages" and make sure that the page setting the scalex is before the page using the scaledwidth.
You didn't notice an issue when the scene is online because it is constantly re-running the visual logic every field and therefore the width will get updated (but one field after changing the scale). When you only export a single frame though, you will notice the error.
Here is how I changed your scripts (pay attention to the tab order at the top):
#XPression