DSLstats just reports what the modem reports. MDWS reports the total upstream and downstream powers, and these values are positive. The upstream per-band values appear to be negative dBm values, but I find it hard to believe them because they represent microscopic power levels.
On my Billion 8800nl modem, the "--stats" command reports 13.1dBm downstream, and -8.2dBm upstream. From "--pbParams", I get banded TXPower as 9.7, 8.0, and 6.9dBm downstream, and -22.5, -35.3, and -8.5dBm upstream - with aggregate power listed as 13.1dBm down and -8.2dBm up.
When the HG612 was plugged in, the equivalent figures were 13.0 dBm down, -7.9dBm up; and 9.6, 7.6 and 7.2dBm down with -22.1, -35.2 and -8.1dBm up - with aggregate power listed there as 13.0dBm down and -7.9dBm up.
This line is around 100m long.
On an old line (350-400m long), the HG612 would display aggregate powers as positive, but would differ in the bands: U0 and U1 would be negative, while U2 (and all Dx bands) would be positive.
On an even older line (600-650m long), the HG612 showed similar results as the medium-length line.
What I did notice is that the placement of the minus symbol differs: In the "--stats" command, it is next to the digits; In the "--pbParams" command, it is next to the digits in the individual bands, but there are spaces between the symbol and the digits for the aggregate power.
For my line, I have both DSLstats and HG612-modem-stats running, so can see that HG612-modem-stats gets the right negative value. MDWS is being fed by HG612-modem-stats rather than DSLstats, so gets it right.