You probably should just be using L moves. Joint moves are not usually the right choice for a bunch of calculated offsets. Joint moves are for moving to general start/end positions or different work areas. L moves are best for doing the actual work.
Instead of adding PRs together, just modify the individual elements (x,y,z) as needed.
Ok, I was J moving to above the pick position, L moving down to position, gripping, L move above, And then J again to the machine fixture.
How do you mean modifying individual xyz?
An example of the way I'm doing it now:
PR[12:Pick_Pos]=[0,0,0]
(above would be the position that was just picked, and now the code below indexes the PR to the next position)
PR[13:x_offset]=[25,0,0]
PR[14:y_offset]=[0,50,0]
PR[12:Pick_Pos]=PR[12]+PR[13:x_offset]
PR[12:Pick_Pos]=PR[12]+PR[14:y_offset]
Result is now PR[12]=[25,50,0]