Agreed. The only way I can think that you might know the Mac address is if you wrote a dedicated client side application (an .EXE or something) instead of running it in a web browser. And that wouldn't make any sense because it's a really huge, time consuming option that would still be very easy to work around.
I think your best bet is to charge $20 to set up an account. You could even charge $5 to set up an account and donate all the proceeds to charity. Then, instead of spending money to try to prevent people from doing this, you actually encourage people to set up multiple accounts.
Or, you could reprogram your game so that there's no advantage to having multiple accounts. "You want 10 more accounts? Sure, no problem, it's not going to help you win."
As clunky as those solutions sound, they're really superior because even if you did succeed at blocking by Mac address (or even the CPU's serial number), you'd still have problems because they could still sign up for an account at every single computer in the campus computer cluster at their local university - or they could ask friends to sign up for them - or they could use a Botnet to sign up for 50,000 accounts for them. If you charge $20 per account, then you'd be thrilled to have them sign up for multiple accounts.