Si ce script est sur la balle normalement ca ne devrait pas impacter le fusil.
La seule possibilite que je vois, en n'ayant pas le projet sous les yeux, c'est que l'objet que tu as assigne a balle dans le script du fusil n'est pas un prefab mais un object actif dans la scene. Dans ce cas la, comme l'objet est actif dans la scene, il sera detruit en appuyant sur I et tu ne pourras plus l'instancier.
Pour faire d'un objet un prefab, il faut que tu prennes cet objet et que tu le drag and drop dans la tab "Project" (la ou tu as tout tes scripts, textures etc). Ensuite au lieu d'assigner un objet de la scene a la variable balle, tu assignes le prefab en glissant le prefab du tab projet sur la variable dans l'inspector.
(J'espere que c'est assez clair lol)