First thing I want to try and get ahead of: I don't want this thread to get sidetracked on the legalities of the old process. None of us are lawyers with relevant expertise hired to give legal advice, and without that we can't be sure what's legal or not.
What I think we can say with certainty is that the old process is unethical and could enable abuse. I hope I don't need to explain how a list of usernames associated with how old they are is a massive moral hazard, to an extent that it being legal or not is actively irrelevant.
We should not be storing the ages of minors along with their usernames for any reason. Any ban process that requires us to do that is unethical and must be changed.
Furthermore: very few (if any) other places in the internet attempt to verify the ages of users in the ways that we do. There will be reasons for this, better reasons than "other websites care less than us about child safety". By far, the most common approach to age verification on the internet is a simple tickbox asking the user to say they are old enough, and not by how much, or asking for a birth date or a numerical age. (Or, if they do ask for a date of birth, the information is used for automated checking only and is not stored.)
So I think the clear answer is to have a simple tick box for applications (or if this is technically impossible a simple statement that "I am old enough." or words to that effect). This applies to the main site as well as sandboxes.
The remaining issue is what to do about people who are actually underage who lie about their age on application. There are two aspects to this:
1. what to do about people who openly volunteer the information that they are underage
2. what to do about people we suspect are underage, but they have not volunteered that information
My proposals are as follows:
1. When people admit to being underage, or volunteer their age and it is lower than the required age: Revoke membership. Ban the account for a set amount of time, perhaps one year. Do not record what the ban was for except in the most general terms - "violation of terms of service" or similar. These bans must not be identifiable in any way as bans for being underage. After the ban expires, the use may reapply. If that means they lie about their age again, we will probably miss it. We just have to accept that.
2. In the event we, for any reason, suspect someone is underage but they have not actually said so: We do nothing. It is inappropriate for us to attempt to determine user's ages outside of the information they themselves volunteer, and it is even more inappropriate, indeed unethical, for us to record that information in any form.
This will have consequences. We should anticipate a rise in applications, and a consequent increase in moderator activity. We just have to accept this. If new users misbehave, they should be revoked and/or banned in the basis of their behaviour only. The only time we ban or revoke people for being underage is when they themselves volunteer that information.