Would it make things more robust if there was a delay between the time that a delegate got the number of votes needed and the time they actually became an active delegate? The reason I ask is we have the ability to vote against a delegate, but if whenever we try to vote against a delegate, the voters for that delegate just quickly all switch to another delegate (controlled by the same person) the people trying to vote against them might have to give up because they can't keep track of trying to switch their votes fast enough to keep that person from being a delegate? I was also thinking if you register a delegate but fall below some minimum threshold of support for that delegate for a certain number of blocks, the delegate becomes inactive and is subject to the waiting period before it can become an active delegate after getting votes. This way people will have a much shorter list of active delegates and delegates with at least minimum support to consider when deciding to vote for or against them and they can't be surprised by a delegate coming out of left field.
I doubt early on we'll have much need to vote against delegates anyway, but this is just something that occurred to me.
Also for down the road, I agree with others that "100 delegates" strikes people as a magic/arbitrary number and maybe we can explore what are the pros and cons of more or less delegates, What would be involved with changing it later... hard fork? Could it be dynamic? or have shareholders also vote for the total number of delegates?