That it is OK on the first crank, but not the second reminds me of a problem I had years ago with a rebuilt starter. The rebuilder used a wire size that was too small in the armature, and as a result, when the starter was bone cold it would crank OK for a few seconds until the resistance rose in the windings, after that it would not develop enough power to crank. This also caused the drive pinion to remain engaged.