Actually this is really odd - the output of calcIrms() should never be negative - looking at the code the only way this might happening is if readVCC() returns a negative value (it ought to return the Vcc voltage in millivolts). Looking at the code in readVCC() suggests it is measuring the internal 1.1V reference voltage w.r.t. the supply voltage - I presume you aren't doing anything strange with the AREF pin?
No, I'm not doing anything strange with AREF pin. When I made this I used a very simple configuration of Arduino Mega 2560 + Arduino Cabled Network shield on top. I only connected to the Arduino, the current senzor and nothing more, just to keep it simple. The only way I'm not sure is the wiring on the audio socket. I'm not sure if it's correct.
I tried to reproduce the OpenEnergyMonitor setup with a different Arduino than the one in use in the project and had the same kind of trouble because the DAC config in ReadVcc was incorrect : it needs to be adapted to the ATMega model.
This should be dealt with properly, now, in latest emonLib.