Hmm, just a thought, but based on BadToTheBown's comment. My limp mode / christmas tree dash all came down to a short in the wiring harness where it's attached to the frame. Local mechanic (not the dealership, who spent 9 months on this and couldn't fix it) says he see's this frequently and fixed it in less than a day. The harness is ziptied firmly to a mount point on the frame and this creates a flex point in the wires that over time causes them to break. He advised to leave the harness loose after he fixed it. Probably worth a look.