So i just did something stupid while playing around with the client. Essentially I did several things, but I guess the combination of those two things triggered the problem:
I've sent the smallest possible amount of Bitcoins to myself - without paying a transaction fee. So this transaction is currently unconfirmed and most likely never will get confirmed.
At some later point I've sent all the Bitcoins I have minus the required transaction fee to myself. Luckily I don't have that many Bitcoins. So I paid a transaction fee for this second transaction but it doesn't get confirmed.
I think the reason for this problem is that the second transaction depends on the first transaction (as it needs to use all available inputs), but the other clients consider the second transaction invalid because they have not seen the first transaction yet. As long as this is the case, all further transactions will also stay unconfirmed.
So what is the best way to get my Bitcoins back? Can I just start over from yesterday's wallet backup? Or does this just make things worse?
And can I remove the unconfirmed transactions from my .bitcoin directory without removing the whole blockchain? Or should I remove everything and just copy back the wallet?