Say I have a node, port open and have a lot of bandwidth.
Everyone connects to me at startup. OK not everyone but most nodes because I'm always available.
When a client is started up a URL that was removed from the local URL list is put back on the list. Not good.
I know what was on your list the last time you (I know it's you by your IP and node ID) ran the program because I keep a list in a database. It took me 2 hours to write the code to do this with a mysql database, it was easy.
When a node starts up and I see a new URL on your list, I know what you have been downloading, I know what you like, I know where you live. Plus you have to manually remove it at every startup, what if you forget? Oops! I got you again!
I also monitor for new URLs popping up because when a download is finished they pop onto your local URL list.
I am evil, I send out letters you don't want, I make good money doing this so please don't fix this.
The user should be asked if he wants downloaded file URLs shown automatically on his local URL list and so on...
Another thing I can do is see a URL at your IP address, ask your node if you have all the blocks for that URL (no need to download them since the software doesn't report you do unless you have them and they are checked) I have enough proof so I run right over to your house and take your computer as evidence. You are screwed. Pay up please.
Oh, and thanks for the new computer and hard drive, I'll put it to good use.
Please don't write code that prevents a node from having all blocks for a file locally after it's been downloaded or when a URL exists for it on a publicly accessible list.