Hi,
I remarked that sometimes, when I launch Phex, it switches to the ultrapeer status very quickly. I even wonder if it didn't directly initiate the connection as an ultrapeer right away. For instance, when working on translations, I was repeatedly launching Phex to check new strings and then had to close it in order to switch from French to Turkish or vice versa. The uptime was typically taking a couple of minutes and Phex was already running as an ultrapeer.
I think Phex should wait a little bit before getting promoted to the ultrapeer status so as to increase the likelihood that the servent will stay online for some time. To give an idea, gtk-gnutella enforces 1 hour of uptime for that, so at least 10 or 15 minutes seem to be necessary IMHO.
As a side remark, gtk-gnutella also sends bye messages to peers when the user chooses to exit the program. Maybe this could be useful, too.
PS: Gregor, you forgot to update the copyright year in the gettext (po) files for the end of the world :p