Yes now I remember, single surface texture gave a reasonable speed boost but vertex buffers didn't make much difference especially when you had to change the coordinates of the particles as they moved.
you should try to put as many particles or frames of animation on a single image if possible to avoid texture swaps
Yes I'm going to make sure all my particles are on one texture. Although as for animated particles, BMax's loadanim image will load them in as separate textures so I really need to "manually" load in the frames from a single texture by making a special TAnimatedParticle type which stores the coords of each image from a single texture.