You were on the right track:
I've also tried a tip I learned form another forum post where I recreate the same barcode object off the canvas just to set the width.

The trick is use the PressTalk After of the off-canvas PressTalk object to store the width into a global variable. Then, you can use it in your on-canvas PressTalk object.

If it still doesn't work, please paste all your steps (PressTalk code use and where, order of steps, anything related to that part of your form) here, so I can review them.
99 frigging bugs in my code
99 frigging bugs
Take one down
Code around
127 frigging bugs in my code