Particle start frame not exceeding 200 with python code
I tested the bpy.data.particles[&quot;star1&quot;].frame_start = 400 in Blender 2.83 and it worked fine.
In Blender 2.82 though it did indeed set the Frame Start value only to 200 as mentioned in the question.

The reason is Blender making internally sure, that the start value can't exceed the end value, which by default is 200. Should you set the end value to 400 and try to set the start value to 500, it will result in the start value being capped at 400 as well.
There are 2 Solution possible:

Update to Blender 2.83, which as i mentioned solves the issue, and sets the start and end value to the highest if the start value exceeds the old end value.
Stick with Blender 2.82 for whatever your reasons may be, but then you have to first set the frame_end value to be higher then the wanted frame_start value for this to work. Means in your code, just move the line where you set the frame_end above the line where you set the frame_start.

With solution 2, it would need to look like this:
bpy.data.particles[&quot;star1&quot;].frame_end = 489
bpy.data.particles[&quot;star1&quot;].frame_start = 319