More knowlegable folks may prove me wrong, however, I found in an OLD Trainz document, mention of various "special" attachement points. We know most of them a.light0, a.limfront, a.driver - but there was one I had never seen before "a.spark0" (or 1, 2, 3, etc).
I asked about it here, and was told that it was only used long ago and wasn't supported anymore. It was a point for the game engine to spawn sparks.
It would seem that the game engine IS still using them.
I would surmise that if you had a look at the bogies that did make sparks and the ones that don't, using Pev's mesh viewer, you'd find that the ones that make sparks have an a.sparkX attachment point, and that the ones that don't makes sparks do not have any a.sparkX attachment points.