I have been trying to understand the Ultrapeer /leaf thing, and my understanding of it (which may be absolute rubbish) is this.
If you are an ultrapeer you are connected to a lot of other leafs and/or peers and you are actually helping the network, through these connections.
If you are connected as a leaf you are connected to 3 or 4 ultrapeers or a few more if you are a pro-user. each ultrapeer being connected to the network as above.
95 % of the time I seem to be connected as an ultrapeer. Note that I have NOT upgraded to 4.9.30
I use Phex occasionally, afaics I have only ever been a leaf but they have a lot of settings that I have yet to fully explore! With Limewire the network decides who will be an ultrapeer, and my understanding is that it is no dissadvantage whatsoever in being a leaf, and that all users' ultrapeer capabilities will be used by the network as and when necessary.
I know that changes have been made to improve the Ultrapeer/leaf relationship in 4.9.30, and it is probably a result of these changes you are seeing.
From Features History (which I do not fully understand)
"4.9.30 (09.13.2005)
---
- Fixed race condition with ultrapeer, peer, and leaf connections.
- Added special settings for becoming an ultrapeer. "
I hope this helps and I hope I have got it more or less correct