It's weired that pulse don't keep working when the game loads from a saved game.
There are several things you can try.
For one is to use timer instead. Timer is just a bit more flexible way of doing pulse. But if you use this, don't get other timers mixed up.
I guess created works on players, and it's easy to verify, give him full ammo or something on created message, see if it makes any effect.
I don't remember what maxthrust does, but if it's the walking speed, you should use SetActorExtraSpeed, which is not even ParseArg, so it should be better.
Startup in multiplayer is quite uesless using on players, since only host is there when the level loads up, not a single client person.
And for last, which I have less confidence is to make a new template for your new player, and use SetThingTemplate... If it even remotely works that way... I don't think you want to pulse this, since it's not ParseArg.
I'm still answering cog questions these days, being my last edit activity years ago