This is the part that's crazy to me-- registration by alphabet? We do it by credit hour, so that those closest to graduation who have the least options for classes register first. IMHO, there are better ways to handle the problem you discuss that human discretion and penalties like you describe. No one could sell their seat, because when they drop a class the seat goes to the waitlist, so they have no control over who gets their seat. You've made me really grateful for the way we handle things . . .
I agree this is an issue for the student, not the parent. If the student is bothered, she should contact the department head, or associate head, or whichever admin handles these issues. I would not assume the department knows. The department SHOULD know, but often we don't until students bring it to our attention. Things have to get pretty bad before students complain about no class -- I've only had it happen to a significant degree twice in ten years.
This is how my school did it as well.
First it was by year (which were defined by a certain number of credits) a few groups got the privilege of being bumped up a year (The honors program, the NTID students because they could only take the classes with interpreters provided, etc). After that it was first come first serve online. So you got up on your day at 6 AM to do classes and ranked them in order from which ones would be hardest to get (hey reminds me of what some do for ADRs now lol). There were even discussions on what the best ways to do it was. You could go by phone but that system was slow. The normal online system was ok and worked for us that were bumped up a level. However the fastest if you knew how to do it was to ssh directly into the server that does the registration without the web interface. Harder to use but if you knew what you were doing MUCH faster.