Ok, I have it in application form:
http://www.paulscode.com/source/BillboardChild/BillboardChildApplication.zipI tweaked the numbers a little to amplify the position shift problem. The source code is included in the above .zip file. You can see from the source code that the pivot and origin are the same, yet the position still appears to change when toggling between billboarded or not.
--EDIT--
Oh, and I thought I would point this out (although you could probably figure it out for yourself), in case you are confused about how the child object is set up. It is basically a box with two polys coloring one side (i.e. the object's center/pivot/origin is not on the polys - it is in the center of the imaginary box).
So when the firefly was facing out of the screen (along the -z axis), then when the child "box" is billboarded it would be pointed one direction (-z direction), and when not-billboarded it would be pointed the opposite direction (+z direction). Hince one would expect that the polys would shift position in that case, as they should.
However in the scenario I described in my earlier post (orbiting the camera, then rotating the firefly), the firefly winds up facing along the +z axis just like it started out (i.e. his butt is pointing out of the screen). In that case, the child "box" should be oriented in the same direction whether it is billboarded or not, and the polys should not change position when toggling between billboarded or not. Problem is, they are changing position.
I hope that clarifies the problem a little better.
--END EDIT--