This is what I'm thinking to make the skip work how I want it. I'll add to BGLogic to set R[137] to a 1 if UO[6] = on. It's been edited in notepad so lines aren't perfect logic. This is dependent on whether or not it keeps monitoring skip condition after it goes past line 43 in the program.
32: ;
33: ;
34: !******************* ;
35: PR[40:End Position]=LPOS ;
36: PR[41:Current position]=PR[40:End Position] ;
37: PR[GP3:40,1:End Position]=PR[GP3:41,1:Current position]+360+
: R[170:Overlap DegreesB] ;
38: R[190:Final Position B]=PR[GP3:40,1:End Position] ;
39: R[137:Retime Weld]=0 ;
40: ;
41: LBL[1] ;
42: SKIP CONDITION R[137:Retime Weld]=0 ;
43:L PR[41:Current position] 1000mm/sec FINE
: Arc Start[R[121]] ;
: Weave Sine[1] ;
: WAIT R[12] Skip,LBL[15] ;
44:L PR[40:End Position] R[136:Weld Time A]sec CNT100 ;
45: JMP LBL[5]
46: LBL[15] ;
47: PR[GP3:41:Current position]=JPOS ;
48: PR[GP3:41,1:Current position]=PR[GP3:41,1:Current position]-10 ;
49: R[137:Retime Weld]=0 ;
50: JMP LBL[1] ;
51: ;
52: LBL[5] ;
53: Weave End ;
54: IF R[164:Teach Mode B]=0,JMP LBL[20] ;
55: Arc End[R[121]] ;
56: LBL[20] ;
57: R[137:Retime Weld]=0 ;
/POS
/END