By removing the LOWER() functions from the validation routines in the core users.module, the system now uses the indexes on name and mail to check for uniques. The result is searches that run in the 10-20 millisecond range instead of 5-7 seconds. No more bottle neck. When dozens of bad registrations attempts happen at once the system just plows right through. It can handle upwards of 750 queries per second right now