Before any of that check the alloy nipples on the spark plugs. If they are at all loose they will totally confuse the ECU. Any time my light comes on I ALWAYS (so far) find one or both nipples loose.