Love this site - I have an iPhone, and if you jailbreak it (Google if you don't know what that means - you need to do it!), there's a program in Cydia called iBlacklist, which lets you BLOCK callers (you can choose what happens when a certain number calls, such as: Voicemail, Busy Signal, Accept and Hangup, No Action [which does nothing], and Accept), and it also has a White List (which is very useful for parents, since you can setup the phone to only allow calls to and from pre-defined numbers.)
I create blacklists in iBlacklist, and put these numbers in - no unwanted calls EVER ring on my phone (OK, well, sometimes one will pop up that I don't have, which is why I end up here, find out who it is, and add them to the proper blacklist.) Bada bing, they always get a busy signal when they call me. :D
Of course, from now one I'm giving them my Google Voice number, which is WAY better; Google Voice forwards to my "real" number, so it's transparent to the caller, but the BEST feature of Google Voice is that when someone calls, I can go into the settings and BLOCK that person/number - if they call again, they'll get a recording saying "This number is no longer in service." For everyone else, it works fine. Plus, when I answer a Google Voice call, I just press 4, and it RECORDS THE CALL FOR ME.
Google Voice works with *any* phone, not just an iPhone. Check it out - you won't be disappointed. Plus you can pick your phone number (and have it spell what you want, if it's available! Mine spells something dirty. LOL)