So I finally discovered what was causing the occasional limp mode or "fail-safe" mode. It turns out that a few days before it started doing this, I took out the speedometer cluster to try to put in the 140mph cluster. It wasn't because it goes to 140 (the 2.2 probably won't make it there under its own power
), but because the needles are white and easier to see at night. Anyway, the plug that sends the speed signal to the speedo itself is a different plug than the stock (120mph) one. So I disassembled the cluster and took out the speedo gauge itself and swapped it into the stock cluster so that it would plug in. I took it for a test drive and as I expected, it read about 38mph when I was actually doing 30. So obviously that wasn't going to work. I put everything back to the way it was and made the mistake of cross threading one of the 4 tiny screws holding the speedo in, and wasn't making enough contact with the circuit board on the back of the cluster. I took out the screw and made sure it went back in straight, and made contact with the circuit board on the back. I put it all back together and checked the codes one last time before I cleared them, and it finally threw P0500, speedometer circuit, which it had never thrown before. I heard of this problem from 987687 on legacygt.com and ultimatesubaru.com. I've driven over 1,000 miles since that fix and it hasn't gone into limp mode once. problem solved!
I've put over 3,000 miles on the manual swapped drivetrain so far, and all is well! So far nothing is leaking and everything is working smoothly.