A few notes on karma:
Algorithms exist that are resistant to massive attacks, see here:
http://advogato.org/trust-metric.html. However trust algorithms are suspectible to a cascade problem, if somebody (A) who has rated lot's of people is rated that can cause a recalculation of all who are rated by A, which in turn can cause recalculations, etc. It's possible to code around that though, the easiest solution would be to use well defined levels so that if the level of somebody doesn't change no recalculation is needed.
With levels you lose the flexible threshold though. On the other hand levels mean you don't have to design and implement the algorithm yourself (the Advogato one is implemented in a few GPLed libraries). Plus I don't see the use of a flexible threshold, those that are expected to behave in a small team can be expected to behave in a large team too.
For karma to work best it must be persistent. In fact I'd go so far as to say that it should be persistent across servers. This makes things a lot easier on the good players.
Losing karma based on deconstructing is kinda superfluous if you can't build without a bit of karma anyway.
On the other hand requiring a certain level of karma for base building sounds like a very good idea. It would at least stop the most common trolling approach.
One can also think of high karma folks to get some additional, limited, powers. I'm specifically thinking of initiating a vote for a one hour IP based kickban with an automatic recognizable note in the logs (so that the server admin could easily make the ban permanent).
Now to the downside of karma. You should be aware what karma will be used for. It will not only be used against trolls and such but also against new players who are just getting into the game. One would hope it won't, but I've seen enough folks constantly shouting insults at their team because they don't do well enough (ironically these folks never seem to try to coordinate their team). On the other hand it would also be used against such folks (I wouldn't hesistate to deal out some bad karma when somebody repeatedly calls my team names) which would mitigate the damage.
Also there is the risk of the opponents using karma to damage the enemy team. But then, those doing that will most likely not have much karma so wouldn't be able to do too much damage.
The biggest problem with any karma based system is to get people to deal out positive karma. Dealing out karma requires some energy. On the other hand it's likely some folks would do it regulary, to improve the game. As people who care about the game are most likely to get the best karma this would somewhat mitigate this problem.
As you have read in the previous paragraphs I believe that karma wouldn't only help with trolls and co but also with improving the atmosphere of the game in general. And it would encourage playing for the team instead of going out and killing. I'm personally more inclined to reward somebody constantly repairing our base (that's something that even karmaless folks should still be able to do btw) than the top shooter of the team.
As for how much work this would be: a connection to a new server would have to be added in the server code. Plenty of code would have to be added to make the game karma aware. A few commands would have to be added. The GUID/karma server would have to be coded. All in all quite a fair amount of work. And double the time you expect because there will be bugs

.
Ok, hope that made sense

.