Mark have you tried disconnecting the MSD and running it on just the pertronics ?

One thing you need to remember is what MSD stands for ... MULTIPLE SPARK DISCHARGE , it can be hard to time an engine with an MSD because of the multiple sparks it throws below 3000rpm.

But if I were you I'd be doing something about that balancer if the outer ring truely has slipped.

what engine is it ?