A competent mechanic with the right equipment should be able to check all of the items mentioned. Find a shop with a scope. Engine codes can only go so far in diagnosing problems.