In response to your first question, are you adding 8 to both pointers each time? Because you only need to add 8 to the second pointer. I wrote that somewhere from memory.
The glitches you're talking about aren't real glitches, it's because when you follow the 02 command to the offset you need to change the size pointer. If I recall correctly, it's the second to last pointer out of the 18bytes(hex) or 24bytes (dec) that loads the size of the particle. You'll find that it glitches with non-custom particles too if you put say leaf particles into Flamethrower. Just check the sizes of ones of the same index size, look at the pointers they have at the 02 command and adjust those.
Also may I ask what particles you've added, and if you'd want to share them?
If you would like to share them I could add them to either this thread or the 4th gen move resources thread in RnD. I'm probably going to make a shell one soon for Razor Shell and Shell Smash, and then to improve Withdraw.