In FLUKA, is energy conserved at the level of each single interaction?
Yes, with the exception of low-energy neutron interactions. In those interactions, energy is deposited by charged recoils. Some of them (protons from scattering on hydrogen and from 14-N(n,p), alphas from 10-B(n,alpha), light fragments from 6-Li(n,x)) are explicitly transported by FLUKA and their energy is deposited by dE/dx. But in most cases, the recoil energy is deposited via kerma factors averaged over all possible reactions for a given energy group, so that energy is conserved on average but not necessarily in a single interaction.
Note that “kerma” in principle refers only to charged particles and not to gammas. But in the unlucky case of Germanium, and of some other elements listed in Chap. 10 of the manual, gamma production is not available. In such cases, the energy of the gamma(s) is added to the kerma, making the situation even worse.
The reason for this is that the NJOY code, which is used to process the evaluated data files (ENDF, JEF, JENDL…), calculates kerma as the result of an energy-mass balance: and whatever energy cannot be accounted for is added to the kerma. This is clearly a weakness of the system, intrinsically related to the way the neutron cross section databases are built (in some cases one even gets negative values due to inconsistencies in the evaluated neutron cross section databases).
No separate balance for each transition can be done due to the lack of correlations in the original databases: only averaging over all transitions make sense and produces exact, albeit uncorrelated, dose calculations (within the limit of the evaluated databases accuracy).