Any website service will hate you too.
Try:
http://www.discountdomainregistry.com/
They have a "multiple" checker on their homepage. Results they say require about 2 seconds per name.
[EDIT:]I tried it with 554 names, just to check it out if it has a limit. I'll post back how it goes, but I estimate it should take 18 minutes.
[EDIT:]Yeah... its eyes rolled up into the back of its head, and my web browser went blank. The "limits" to the system appear to be "trial and error", which can waste a lot of time.
Also, SnapNames will let you check the availability of multiple domains:
http://www.snapnames.com/search.jsp
They DO require that you limit yourself to 100 names at a time, and enforce it.
From a web service the results are given in a pre-formatted way though. Hard to take the results and further process them without considerable text processing.
I'm on a cable modem, so I can refresh my IP as much as I want by releasing and renewing through the DHCP server at will. If you are too (or otherwise have a pool of IPs to replenish from) you could do the same and you won't have a problem. Set yourself up with a copy of WatchMyDomains Pro and a good book, and you'll be good to go.
Just check for errors every so often, release and renew (you can create a .bat script to do this for you with the click of a button), and start processing again.
It'll will take some doing (50,000, yikes!) but it'll end up working out well for you.
After you're all done, SAVE. Sort by Registrar (click on the field), and all the ones that say "*NOT FOUND*" will be available for registration. Select your names, and Right-click and choose "Copy > All Domain Names" and you have your list ready to paste somewhere.
~ Nexus