I'd rather bet/fold river than check/call or check/fold. When you check river, he is going to check behind all the stuff you were extracting value from on the turn (i.e. overpairs or whatever), and he's going to bet everything that improved to beat you (T8,
, JJ). The only upside from checking is to induce 45(?!).
As an aside, I'd rather go bigger on the turn. He's betting half-pot, so when you raise, he only has to call $100 to win $300, plus implied odds if you are paying off $300 when he hits.
Also, would you play flush draws like this? If you think most people probably check-raise the flop with a flush draw, and if you think he would interpret your raise that way, then you should do the same thing here, so as to make your hand look like a draw. You want to get money in before a
comes and he folds (or sucks out, as the existence of this post suggests.)