Loading does not affect particle functions. Therefore when a particle effect is running and you load a game, the particles continue to run until the end of their lifetime. Only a level_load or a level change by game_load stops all particle functions.
Invalid arguments mean not necessarily pointers that are zero. The pointers can also be nonzero but invalid - for instance when it's a pointer to a wrong object, or a pointer that contains garbage.
For being more specific I had to know which functions gets a wrong entity pointer and what this pointer contains.