Have a Car Question? Ask a Mechanic Online.
How thoroughly has he checked the EGR system? A restriction in the EGR passage would cause that. Are you getting any check engine lights?
You could also have a bad knock sensor. That's designed to retrard the timing in the event of sensing a ping.
Check the cooling system also. Excessive engine heat will always make the problem worse.