We had the same problem. So we created two solutions:
1) The ePDM is saving every part as a copy when it changes in our 'released' state.
2) I added one state after released with only write premission for the tool shop. At most we check some parts and after that the tool shop will start there work. When they're ready and finish there CAM work, they should change the state from 'CAM process' to 'released' back. The tool shop make versions contents a released revision. Example:
C 35 will released from the R&D department
C 36 Change state to CAM process
C 37 check out
C 38 work CAM
C 39 check in
C 40 Change state to released
We have the problem that they push the drawings, but today we haven't a solution.
We ended up going with Insert Part/ using a derived part. Part gets released, CAM programmer inserts to a new part and gives the file a prefix. Our programmer has his own workflow for programming. We run ECN's in ePDM and when he gets notified of an ECN and that part is affected, he can see that his programmed part is referenced and the programmer knows to update his file. Works well so far.
Ken, was going to mention how all CAM data is stored in the .sldprt file and can make them large. So a derived part is a great method to avoid that, as long as files links are maintained and models update without a ton of manual effort.
What file name will the 'part' get to designate the CAM file?
p.s. - I just noticed this is your post from Sept. 2015... so anyway...