Hi ryp, I think Daedalus has give you some suggestions for this question
Regarding energy generated at each fuel position, or power distribution, I think you can use the kappa fission score or fission q recoverable score in your tally. hence you will get the power distribution either radially or axially. You will find that the power distribution will be different on each burnup steps, so you can tally this score on each steps or on specific burnup steps that interest you.
About the burnup for various components, either heavy metal or non fuel components, you can do it by set the material to be a depletable material (it should be default for heavy metal), dont forget to set the material volume, and the burnup time integrator will handle the calculation. If you want the material to be reported as independent depletable material, i.e. if your fuel at the center region has the same composition as the fuel at the peripheral region of the core, as the power at the center was higher than the peripheral, then the burnup fraction at the center will be higher since the power is higher at the center. by making 2 or more separated fuel material (with same composition initially), your code will handle each material independently in burnup calculation.
Since you know the initial heavy metal mass, then you only need to know the energy (local power×time). Local power can be find from the power distribution (kappa fission or fission q recoverable), so you can find your local burnup.
Or if you want to use other burnup unit, i.e. %FIFA (Fission per initial fissile atom) or %FIMA (Fissile per initial heavy metal atom), then you can declare you burnup with other unit, i.e. %U-235 has been burned, so you can focus on the atomic density of fissile material, such as 10% U-235 atom has been burned, 20% and so on.