my 2005 had a similar problem when I bought it... It had a intermit check engine light for p0300 random misfire. I did the valve adjustment, new plugs and new pcv, and valve cover gasket along with new intake gaskets I also cleaned the intake manifold, egr, and throttle body. I cleared the light and test drove the car. still had a pending for misfire. engine purred like a kitten! So I got out my snapon scanner and cleared the crank shaft relearn. I preformed the relearn and BAM no more pending misfires!!! sometime Honda's can learn a BAD pattern and then when you FIX the problem it will compare a BAD crank shaft sensor patter to a good one and mark the good one as BAD! I have fixed many GM's and FORD's and HONDA's that have crank shaft relearning software in the pcm. see if your mechanic has that ablity. sometimes doing a PCM reset along with a crank shaft relearn will fix the problem.