Occasionally when I start my truck (1997 F150 4x4) the starter makes a grinding noise. The noise sounds exactly like if the engine is already running and you try to start it.

It doesn’t always do this and it when it does after a try or two it starts – very annoying.
I’ve changed the starter and the solenoid – no help – I’m thinking flexplate is cracked or some teeth worn??? I can’t see much of the flexplate but what I've looked at looks OK.
Any other ideas?
Recommendation on a good mechanic to fix it in the Everett area?
I’ve had it in once and the shop couldn’t repeat the problem and found nothing.