Bullet.blend <-- contains a Cube called Bullet
Shooter.blend <-- contains a plane called Shooter with an Add Object logic brick which shoots linked Bullet objects
main.blend <-- empty scene which links to the Shooter object
If you start a new scene and link to Shooter.blend, the logic works fine. But once you reload the scene, the shooter fails to add bullet objects.
For more explanations look in main.blend 's text editor.
The problem comes from the fact that the Bullet.blend is imported twice as visible in Outliner->library.
Blender loads the Bullet object twice and gets confused about which one is assigned to the Add Object actuator. However, when looping through the objects (with SETLOOPER), blender only shows one Bullet object but the actuator is linked to the second one, which is not converted. Hence the bug.
To fix the problem, just link to Shooter.blend alone. Bullet.blend will be imported automatically via Shooter.blend and the Bullet object will be loaded only once.
However, the confusion about pointers seems to be a bug anyway, but not a BGE bug.
Moving to the normal tracker.