in quanto la prima istruzione, in questo caso, non è sufficiente per aggiornare il contesto della scena e recuperare correttamente i dati; si tratta di un errore alquanto subdolo, che non viene notato perché l'animazione in effetti scorre, infatti alla fine dell'esecuzione dello script la scena si trova al frame 100 perché si arriva lì con change_frame, tuttavia i dati recuperati dalle particelle si riferiscono ancora al frame 1 e così vengono scritti nella lista e nel file di testo prodotti in output, quindi è necessario inserire la nuova istruzione per aggiornare il contesto dell'esecuzione prima di recuperare i dati. Fatto questo, lo script funziona alla perfezione.
Ringrazio quindi Marco per la segnalazione e chiedo scusa a tutti voi per l'inconveniente.