Instead of swaping polarity, static check the reluctor/pickup location for your base timing. Example, if your light shows 12 degrees BTDC at idle, set the crank there, pop the distributor cap. If the trailing edge of a reluctor tooth is at the pickup, all is well. If the pickup is near the middle between teeth, then swap and reset timing. Also check plug wires indexed correctly. If the polarity is incorrect, the rotor phase will point between the towers, and timing may vary, because in between teeth is not an edge. It is also possible for spark to flash the pickup, creating additional triggers ... not good for electronics.
If your polarity is correct:
Depending on your wire routing, there might be a noise issue. Noise introduced on the pickup leads will generate false triggers. An example is pickup wires interlaced with plug or coil wire. In any case false triggers result in RPM peaks. Pickup leads should be twisted pair or shielded, check that distributor is grounded. The o-ring, painted clamp, and anodize on aluminum distributor can in rare cases leave distributor ungrounded. A distributor ground wire is a good addition.
I have never used MS, nor had a similar problem myself. I do know the electronics involved, so making my comments based on that, and your description of problem.