Unlinking particle system datablocks from python

The situation: I have a helicopter from which I am shooting rockets. I am creating the scene by reading an xml file output from another application. I start with a blend file that has one helicopter and one rocket, and then make a duplicate of the helicopter and as many duplicates of the rocket as are called for in the xml file.

The problem: I have a particle system attached to my sample rocket. I need to set the start and end frames of each rocket’s particle system according to the time it was fired and the time it hit something and exploded. When I make a duplicate of the rocket, it makes a linked copy of the same particle system, so when I set the start and end frames, all the rockets end up with the same start and end frame.

I found the manual solution via this link - https://blender.stackexchange.com/questions/10822/duplicate-particle-system-not-linked - going to each rocket, and clicking the number of users value next to particle settings, to make that rocket’s particle datablock unique. However, this is extremely tedious and I would very much like to do this step in python.

I have tried every permutation of make_single_user that I can think of, but actually it doesn’t even do what I want when I call it through the interface, so I’m not sure if it affects particle systems. In any event it does nothing for me in python.

Anybody got any bright ideas?

Thanks!