This is the fix I made for it :
I'm not sure it works 100% though, but according to the author, it should. It fixes stopping emitters with circular motion - which is also called by freeparticlesystem, so it might solve the problem there as well.
; replace freeemitter by this : Function FreeEmitter (Piv%) Emitter_Stop Piv For Particle.TParticle = Each TParticle If Particle\Piv = Piv Then If GetParent(PTDummyPiv) = Particle\Piv Then EntityParent PTDummyPiv,0,0 End If Delete Particle End If Next Emitter.TEmitter = Object.TEmitter(EntityName(Piv)) FreeEntity Emitter\Piv If Emitter\Snd > 0 FreeSound Emitter\Snd Delete Emitter End Function
I'm not sure it works 100% though, but according to the author, it should. It fixes stopping emitters with circular motion - which is also called by freeparticlesystem, so it might solve the problem there as well.