Happycat: exactly right. Just knowing someones public key doesn't allow you to do anything, not until the other person adds you can get their ip (of course the identity is verified on connection start as well). And if they remove you as a friend you are back to knowing nothing...
I just implemented a thing that is almost as good as friend requests for 0.7, friend invites. Basically you generate a secret invite (a long string of random data). Then you send that to your friend. Your friend can use that data to find your ip:port, and then when your friend connects to you she will send you the secret. You remember which friend you sent which secret and add her public key as a friend (with a nick you decided when creating the invite).
The details are a bit hairy but I think it will be really useful.
One thing that has annoyed me is that when I have a new friend try 1S they must first add my key, then send me their key and then wait for me to wake up (and add the key) before they can connect. By that time they forgot all about 1S... Making it possible for them to connect straight away will be nice.