I've got a large file I'm trying to download that has two sources: one a push source with the entire file and one other source with about 1/9 of the file. The latter has a thin up-pipe as well as only part of the file, and is a Shareaza 2.5.2.0 client.
Not only does the push source keep being forgotten by my Shareaza, but it does NOT get re-discovered from the other source via source exchange. This highlights a further problem with the bad behavior Shareaza exhibits towards push sources: not only does its tendency to randomly forget them (and regardless of Download.NeverDrop) make it painful and frustrating to obtain a file from one, it also hurts source exchange, as the OTHER source's instance of the same buggy behavior is preventing my copy from recovering knowledge of the source in what would otherwise be the quickest and easiest fashion. Instead BOTH of us have to keep doing manual searches to keep finding and re-adding the source over and over and over again. Those searches don't find it reliably every time (despite the claim that G2's search horizon is pretty much the whole network) so neither of us can make much progress downloading the file a) at night, b) when we're at work, or c) half the rest of the time.
Only c) could be fixed by improving the search so that it really did reach the whole network, reliably, with each search. To fix a) and b) requires fixing this nasty tendency of push sources to disappear after a while. They should behave like any other source (as far as the end-user is concerned) god-dammit.