I also think its AFM. Try cleaning it with some cleaner, and if it fixes it, invest in a new AFM as cleaning it seems to be only a short term problem and the problem is likely to return.
I only skimmed over your post, but have you tried resetting the
ECU? Disconnect the battery for 15 minutes or so is the easiest way.