Did you check the flexplate/flywheel and see if the teeth are ground down as well? If you have an automatic, check if the flexplate is warped (remove the flywheel/flexplate cover and crank it over). If it's standard, do the same and check if "starter tooth ring" is out of alignment. Stater tooth ringscan be replaced, so it's possible that either the ring moved, or wasn't installed correctly if it was replaced previously. Or maybe, just maybe, you should add shims between the starter and engine block..unless you already have shims, and could try removing them. Good Luck