Hello, I had also similar problem.
After some tests, I just ended with batch scripts:
_______
...
dgate(64) "--movestudies:SRC_AET,DEST_AET,20101124"
....
____________
cloned with every day of year - one day wasn't to much and the assoc. lost did'nt appear.
But this scripts often run in parallels threads rather than one after another - to fix it for some "days" I had to re-run scripts.
Generally 3 year "move" took over about a week to clone from one server to another.
But it worked.