Is that fair?
In the Stack Exchange model, yes that is fair. When your post is found useful by a user, it is upvoted. It is upvoted not to give you reputation points but mainly to make the most useful posts rise to the top so that future visitors can get to it quickly. Reps are just one of the by-product of voting mechanism but a good one :). Voting is highly encouraged by Stack Exchange. However, if you still don't want reps on old questions then you may get your answer converted to "Community Wiki" and you'll stop getting reputation from that post.
Shouldn't rewards diminish over time to encourage active involvement?
To encourage active involvement, there is a huge influx of new questions every day. I don't think diminishing returns would spark much active involvement. If high reps users still feel good in helping new users they will remain active.
[mso]
doesn't work the way like[so]
does.