Not having particular experience with that part of Unity just yet, I'll take an educated guess based on my experience with physical simulations in general.
The function documentation states:
function Simulate (deltaTime : float) : void
That is, the function parameter is a time delta, a step in time. It is not a certain moment in time.
Physical simulations work based on discrete steps in time. And the stability of many simulations (or rather the error within a simulation) is directly related to the size of a time step you take.
In your code, you're taking increasingly large steps in time. While single particles might put up with that for a while, given a sufficiently large step they might start to become unstable.
Most likely your problem will be resolved by taking a number of fixed time steps of a relatively small size.
public float initTime;
public ParticleEmitter partEmitter;
// Use this for initialization
public float deltaTime = 0.1f;
void Start () {
for (float i = 0.0f; i < initTime; i += deltaTime) {
partEmitter.Simulate(deltaTime);
}
}
I have taken your 0.1f here (a tenth of a second), but this might have to be even somewhat lower.