Pardon the long post but I need advice. 2000 4 cyl. OBW, AT, 158K. Purchased 6 years ago from original owner, w/ 85K. In recent years the check engine light came on often enough that I bought a cheap code reader. Codes were 328 and 420. New pre-cat O2 sensor, fix exhaust leak, and reattach heat shield have hopefully put the 420 to rest.
In August 2011 I broke down and bought a new OE O2 sensor. Went to install it but sensed some possible cross-threading in the original location, so I placed it in the 'other' spot, a few inches back and to the right. Didn't really end the problem, but may have reduced the frequency.
Monday of this week I took the car to the dealer for some unrelated work that I couldn't do myself. On the way to the dealer the CEL came on. Scanned the code and sure enough a 328. Asked the dealer to investigate. They insisted on selling me a new knock sensor, chasing the original threads, and placing the new sensor 'where it belongs.' I wasn't happy, but agreed. They cleared the codes. Picked the car up the next day, and 5 miles later the CEL back on; sure enough, a 328. I called the dealer, expressing my displeasure (to put it mildly.) We agreed that I would not clear the codes and would return to the dealer in a few days (a part for an unrelated repair had to be ordered.)
Anyways, the next day the CEL spontaneously went out. Then a day or so later it came back on. I scanned it, still a 328. Then it went out again, and that is the present state of affairs, although a scan still reveals P0328.
What's going on here? Under these circumstances is there some sort of 'learning curve' once new sensors are installed, even though the codes have been cleared? A search of various sites, both Subaru-specific and generic, suggests that worn engine mounts may be a possible cause of a knock sensor code.
The collective wisdom of the group would be greatly appreciated. I plan on driving the car a lot this weekend before taking it back to the dealer on Monday.