GetSystemTimes return sum of the designated times across all processors, so there is no need to multiply the result by CpuCount().
GetSystemTimes function (processthreadsapi.h)
Change proposed for GetCpuTime method of CpuMonitor class in ndcommon.h :
return (100.0 - (((endIdle - startIdle) * 100) / (endCpu - startCpu)));