How often should one check this? What does a negative number mean? Can <= 0 be ignored? 
Also, how do you (the server) determine a client is really forging, do you just check if it's online and responding to peer requests and that's it? 
It's updated each time u invoke startForging or a new block forged, I suppose. The code is written by Jean-Luc, I might be wrong.
U can't determine if a client is forging, server does it.
But "forging" really just means "being connected to the network" right? There's not really a difference between a person that has connected but not called the startForging() api, and one that has? Except that the first one is included in the chance to get the next block forged.