Let $x$ be his age on his birthday this year. Then $x-1$ is 50 in some base, i.e. a multiple of 5; $x-2$ is 100 in some base, i.e. a perfect square; and $x$ is 30 in some base, i.e. a multiple of 3.
By the Chinese remainder theorem, being a multiple of 3 and one more than a multiple of 5 is exactly equivalent to being 6 more than a multiple of 15 (congruent to 6 mod 15). So $x$ must be one of 6, 21, 36, 51, 66, 81, 96, 111, 126, 141 (assuming $x<150$, which seems reasonable). Subtract 2 from each of these to see whether we get a square, and we find that the only possible values of $x$ are
6, 51, and 66.
Let's check each of these individually. 6 turns out to be too small since 5 isn't written as 50 in any base (thanks @KateGregory!), but both the other two seem to be eligible.