Suppose someone sets the withdrawal limit for an address to the minimum transaction fee. No problem there, they can raise the limit any time by executing another setlimit transaction and waiting the required 100 blocks. However, now suppose at some point in the future the minimum transaction fee is raised. Do you now have an address that becomes effectively burned because its withdrawal limit is now less than the new minimum transaction fee? Never mind why you would or wouldn't raise the fee, or how unlikely you think it is. The future is hard to predict, and the goal is to think very long term and to assume that Cryptonite becomes successful beyond our wildest dreams.
Well if we ever wanted to increase the minimum tx fee we'd have to ensure that it didn't conflict with any existing withdrawal limits. As you mentioned the 2nd option could allow the withdrawal limit to be bypassed if not done carefully and as I mentioned it could mess up the sidechain mechanism and prevent it from working, so there's many good reasons not to go with the 2nd option.
I would also like to request clarification on your comment about needing to change the protocol. My understanding is that Cryptonite added the concept of withdrawal limits in the first place (a nice innovation, IMO), effectively making a significant alteration to the Bitcoin protocol (not to mention separating the block chain into three different data structures to implement the mini-blockchain). So I'm not following why what seems like a slight change in the way you handle withdrawal limits is really a big departure from what you've already done. I really am asking, so please forgive my complete lack of understanding for how the protocol works under the hood. I would also appreciate any good reading material you could point me to.
Any change to the protocol will usually require a hardfork and I'd prefer to avoid any such fork if possible. They can be very disruptful because they require everyone to update to a new client and those who don't update get left behind on an invalid fork. That's why Bitcoin only undergoes a hardfork when it's absolutely necessary, for example a bug is discovered and everyone is forced to update, which has happened in the past.