I am not sure about MicroLogix8xx, but on other A-B PLCs the COP instruction copies the bits, so if the CTU.CV and PartCounter[index] are different sizes, it may not work. Maybe the MOV instruction would work better.
Also, I see three Man_* booleans: Man_pulse1; Man_increment_Pulse; Man_Move_Pulse; but I don't see anything that changes them from 0 to 1 and back again.
1) The [CTU] instruction counts on a rising edge of its incoming rung, so I suggest a branch with an [OTU] (unlatch) instruction on [Man_pulse1] in parallel with the CTU so it [Man_pulse1] never 1 for more than one scan.
2) If the user assigns those BOOLs manually e.g. [Toggle bit] or similar, then [index1] at least will very quickly move, at an increment rate of around 1kHz, out of range of the 20 elements of the PartCounter DINT array, and cause a fault if the Man_Move_Pulse bit is ever assigned a 1, so I would do the same unlatch trick there.
3) The last rung input to the COP (MOV?) should only be allowed to be true if [index1] is greater than -1 and less than 20.