On other boards, where this question gets posted a lot, the common accepted answer is that they don't age. The Japanese website for the Pokemon anime said that at the start of Advanced Generation, Ash is the same age as May.
This is the answer that I live with as a Pokemon fan. While the characters have matured, it doesn't seem like they have aged physically. As Myzou said, Ash should be 20, but he doesn't look the part, and sometimes doesn't act the part.
It is stil fun to imagine that they do age. And your estimates, Animehero, seem to be around what others have said.
And to add this because it was rather funny: When Pokemon first came to the United States, the official dub website said that Jessie and James were 12-years-old. I laughed then, and still laugh now.