Screeching sound right after car starts/engine turns over

I agree the screeching noise is most likely a new belt. However the flywheel explanation is not out of the question; an experienced mechanic should be able to tell the difference from the sound.

You most likely did not need a new starter and a new battery if you never had starting problems before. If the old battery was more than 4 years old it’s close enough to the time it should have been changed that I wouldn’t worry too much about it, plus with the environmental regulations about batteries I think you’ll have a hard time getting back from them. I do think you should get the starter back and have it checked by another mechanic. Something about the whole story is suspicious.