Banning an ip directly is in most times completely foolish; most ISP's give out IP's on a dynamic (ever changing) basis and not on a static (forever non-changing) basis. This means that yes, your ip ban will work great until the users ip changes through their isp (56k is common, change every time you connect, however cable/dsl would update every month or so when the modem reconnects, etc).
It's a great idea, but banning an IP directly isn't really a way to ban users on a permanent basis; now if you where to ban the isp alltogether it would solve issues (most ISP's own a specific class of ip's)
So you could ban:
Class A (not recommended): 192.%
Class B (not recommended): 192.168.%
Class C (would be recommended): 192.168.1.%
Class D (or direct IP ban): 192.168.1.1
As stated before, most ISP's have several classes that belong soley to them, so if one wanted to ban them completely they would ban their class C's, but you'd only know speficically if a class c belonged to them by a user signing up from it.
You may also ban "free" email addresses (hotmail, yahoo, gmail, etc) which generally is a sweet spot to deny spammers (however you'll notice that a lot of them are not standard free email addresses, web.de is one that i get hit by a lot).
7.1 should help stop automated spambots due to the CAPTCHA however it won't stop actual people (that is unless they can't read the captcha values lol)