I would expect the symptoms your car has if the timing was 'off'; such as if the camshaft was off one tooth from being properly lined with the crankshaft at top dead center. It isnt easy to check this, but its what I would try doing next. The camshaft position sensor only gets its info by 'learning' the correct crankshaft-to-camshaft position after you have disconnected the battery. If the cam timing was off when the battery was reconnected, the PCM would never know it - so there would be no code.