Representing negative numbers by swapping all the m's and p's would make for a rather elegant feature of this system. Even so, I don't think the system as a whole will catch on sufficiently to supplant the decimal system, as old and tired as that may be.
If I understand correctly, for n=-1800 the sorting rule m<x<p should give 'mmmmmmmmmmmmmmmmmmmmmmmmpmxmmmmm' rather than 'mmmmmmmmmmmmmmmmmxmmmmmmmmmmmmmp'; the test suite seems to use m<x<p for positive n, but p<x<m for negative n, so that the results for +n and -n always look the same but with m and p swapped.
For the case in the plot, binaryToBell202('101',1.2e5,600), there are three sine waves for the three bits, each of which is 1/600 seconds long. The first sine wave, at 1200Hz, goes through exactly two periods, so it starts and ends at zero; the second, at 2200Hz, goes through 3+(2/3) periods, so it starts at zero and ends at sin(2*pi*(2/3))=-sqrt(3)/2=-0.866; the third sine wave goes through exactly two periods again, and therefore should end at -0.866 again. This is independent of the sample rate. If you are trying to match the sine waves at the discrete points defined by the sample rate, then it gets more confusing.