The non integer amounts of waste, etc. are correct. The way it works is that the engine maintains internal decimal quantities for all these things and rounds them to integers for the bot when they are put into the bot's memory. But it is these internal values whcih are actually used by the engine for most calculations. Most small bots will have mass < 1 for example, which will round to 0 often as far as the bot knows, but that bot still has mass, enertia, etc. as far as the engine is concerned. What I did in this release was simply to remove the rounding for these values as displayed in the robot properties dialog. In the next release, I'll cut off all but perhaps two places past the decimal point to make them more readable.
The energy thing may very well be a bug. I have not had a chance to investigate this since PY noticed it. One thing I have noticed which may be to blame is that since bots in 2.4 change size and an energy return shot has to actually hit the bot for the energy to be received, small/young bots can be at a huge disadvantage and exhibit what you see I.e. shooting, but loosing energy every shot cause the return shots miss them.
Anyway, it's probably still a real bug. I'll investigate for sure, but probably not until this weekend. Need a few days away from the code.