The problem with those Do Not Call databases and Anti-Direct Marketing is that they will work only if you haven't had a business relationship (i.e. open account) with the issuer for something like 12 months. And even then, I'm sure you're never completely off their list if you ever had any sort of account or other relationship with them.
So, it's tough trying to fend off AMEX and Citi, if you happen to be customers, because you tacitly agree to being on their lists by opening accounts with them.