How can you get very large energy losses and at the same time you wrote:
but when I look at only events where DESTEP is > 0 I only get protons out
So maybe something is wrong in the way you register your hits!
When using GCALOR the energy cut-off for neutrons CUTNEU has to be set to a reasonable value (you can go down to 10E-14 GeV), GEANT will complain but you can ignore the warning. Also the time cut-off has to be set to a value, which allows to track the very slow energetic neutrons till they are captured or fall below the energy cut-off.
What kind of detector you are simulating? and Why with native FORTRAN?