You're right this should be thrown out by any decent Federal Court. But I thought McCain-Feingold would be thrown out by the Courts.
Actually, the more likely chance is that the law could end up being vetoed and the Democrats don't have enough votes to override the veto, period! It will be 1975 all over again.