I'm running sheet parts using subprograms on an VMC-15XT. I use jump lines to restart the program after moving the sheet down and changing the repeat cycle. It works well till the end and I cannot get it to jump to the M30. Can some one tell me what I have missed?

O130(WIL-013 REV2)
(R2)
( T14 | 5/16 DRILL | H14 )
( T11 | 5/16 FLAT ENDMILL | H11 )
( T10 | .285 FORM ENDMILL | H10 )
( T7 | 13/64 END MILL | H7 )
( T8 | 1/2 CENTERDRILL | H8 )
G0G17G40G49G80G90
G28G91X0Y0Z0
#V2=6.75 'X STEP OVER
#V3=4 'SUB REPEAT
#V4=3 'SECOND SUB REPEAT
#R2=V3
#:START2
( 5/16 FLAT ENDMILL TOOL - 11 )
T11M6
G52X0
G0 G90 G54 X-.1993 Y3.114 S7500 M3
G43 H11 Z.5M8
M98P133LR2
G91G28Z0M5
M0(REMOVE SCRAP)
.
.
.
.
#IF R2=V4 THEN GOTO:END "I have tried using the = and EQ, also use part count with no results."
#R2=V4
M0(CHANGE SHEET LOC.)
#GOTO:START2 "I'm happy with this line it changes the part count and re-runs the program"
#:END
M30


Think I'll try the changing my subprograms to subroutines on the next program. It's going to take some getting use to, having them at the start than at the end. I get tired of switching in and out of the editor screen.