Check that address and zip match, if they do just do a quick IP geo lookup at dnsstuff.com and put it through.
If any red flags come up we usually do a whois on the domain to see if that shows anything interesting if not we usually give them a buzz on the phone to verify the order and leave a message if no one answers and shoot out and email.. we dont put it through till we get some verification though.
Regrding the not taking free email addresses while I do understand why people would not allow this I also understand that many people use free email addresses such as hotmail, yahoo etc because it is known to be some of the most reliable email and it can be accessed from anywhere so I think you are cutting out a fair amount of people by limiting this.
1. check the name on the order form and the name on the credit card that they use to order. If they are not matching, you know what it is.
2. Call the # that they provide when they sign up and verify the order.