Your ideas what to do next are perfectly fine and in fact, if some statistic measure says that your model "fits fine", that is not enough to say that you are done with it. First of all, there are multiple criteria for assessing model fit, $R^2$ is just one of them and it is not perfect (see this discussion). In fact, checking for overfitting and model diagnostics is a must if you want to be sure your result is not garbage.
For example, Leonard A. Stefanski provides lots of funny examples of made-up data that gives "significant" estimates for linear regression, but if you check the residuals, you get... well... a bison (?!).

So sometime you could get "significant" results with a rubbish data. That means that you have to check your data, residuals etc. The important thing to check is outliers - sometimes a single observation that is very extreme could influence your results (especially with a small data). Check also if your data is fine - if there is no mistakes in coding. Generally, it is good to check descriptive statistics and plots of all your variables included in the model and of the values predicted by the model.
Another thing that could be done is posterior predictive checks. Gelman and Hill give in their book a very readable tutorial on regression models fitting and selection, so I would recommend you their book.
However, in general, you should ask yourself if the model is useful for you, i.e. check it's practical significance. Sometimes the model could fit well but give you results that are no help for you to improve your understanding the problem you are dealing with, so you try different models.
What you should remember it the rule of parsimony, i.e. the simpler model in most cases is the better one. So if your simple model fits fine, that is fine! Consider that if you have complicated model, also interpreting the results you obtained is more complicated. Try to describe your results in plain English - with complicated models it gets tricky, and if statistics is a tool for providing you help with understanding things, then is a model that does not provide you intelligible information useful?
Finally, you could check different methods of estimation (e.g. OLS, ML, Bayesian) so to check if they give you similar results. If not, ask yourself why and try to diagnose the problem. Trying different statistical methods is also a good idea.
Check also this discussion.