Only runs 40 Degrees advanced

I am not a fan of MSD , never have been . My suggestion: get a piston stop , find true TDC , compare that to the timing marks on the engine . R&R the dizzy with a factory unit . Set it up #1 TDC , fire the sucker up, warm it up, adjust advance to factory . If factory adjustments don't work , it's not the MSD. If factory adjustments work with a factory dizzy, use the MSD as target practice . IMO you have too many things going on that affect your engine . Too many computors running your car. If the factory dizzy doesn't work there is a mechanical issue . You can solve this . Take a step by step approach , one thing at a time . I know you have done it several times already but you missed something .