I also noticed that the heat exchanger code for transfer() looks extremely buggy. Your notes say that you adapted the code from IC2 code, so then I went and checked it, and wow, it matches. I find that to be a bit, um, unsettling. Is there a way that we can file bugs against the IC2 code?
Likewise, your code for adjustCurrentHeat() returns a negative value in cases where the component overflows and in cases where it underflows. I checked IC2 decompiled code and saw the same thing. Since you are trying to mimic what we see in the game, you did the right thing, but wow, that is really interesting. I'm wondering if it is possible to abuse these bugs and make a reactor that performs far better than it should.
Bug reports can go on Mantis if there's something awry, if you don't especially want to create an account there you can just post in here) . I doubt there is any normal scenario where overflowing could happen, at least to any kind of advantage, but a lot of the reactor logic is quite old so imperfections are possible.