The maximum age constraint on the birthdate is problematic, since it becomes more restrictive over time. So if you store a user and their birthdate, you won't be able to load them again if they crossed the threshold in the mean time.<p>I'd just pick some reasonable cutoff (say 1907) and keep it at that value forever.
Today our computers have issues because time overflows. Tomorrow, advanced medical technology extending human life may be available, but will constraints in software will force people to be legally reborn into new identities?