I did have a case one time with a friend, where the connector that runs to the cam and crank sensor had a pin bent over. It was just enough that road or engine vibrations would cause it to throw a crank sensor code. We changed the sensor, and it still did it.....so you might go ahead and check the connector and harness just to rule that out.