Bitfreak, do you know of any way that I can raise the withdrawal limit for an address once it has been set to zero?
I don't think I've actually ever tried setting the withdrawal limit on an address to 0 and I'm not sure if it can be undone, I'll have to ask catia about it. One thing to keep in mind is that when you increase the withdrawal limit it will take 100 blocks before the withdrawal limit gets updated. But I'm not sure why it's saying you have insufficient funds, I'm guessing it has something to do with your withdrawal limit being 0. The setlimit transactions are pretty weird, the input and output address are the same, where the output value is the new limit value and the difference between the input and output values is the fee. But I think if you use a command like gettransaction it wont show the true structure of the tx, it will show a simplified version of the transaction which makes more sense.
Unfortunately I think you may be out of luck. The issue is that your new limit of 0 prevents you from paying the fee but a transaction fee is required to prevent the network from being spammed. I also believe that setlimit tx's can only have 1 input and 1 output so that it can be detected as a setlimit transaction. So basically I don't think there's any way it can be undone. Originally we were going to make a withdrawal limit of 0 signify an unlimited withdrawal limit but it made much more sense to do it the way we do it now. We probably shouldn't have allowed the limit to be set to 0, but it could be useful in certain situations where coins need to be destroyed without having to send them back to the coinbase account.