Do you know what Bearshare did? As far as I remember they used automatic searches - a feature Phex introduced to Gnutella which was called harmful (too many searches), so we had to disable it. Bearshare kept it, though.
If you see in the list of candidates for the download "Push request...", then the host is being contacted via its push-proxies.
When it takes hours to connect, chances are, that either you didn't forward the ports / open them in the firewall, or that your host list is critically outdated.
Does Phex show a little wall at the lower left corner of the window?
Also could you look at the download candidates? What do they say? If they say "push connection broken", you can remove them and search again. If all of them also say "waiting" after a restart, something is fishy... in that case, please tell us, too, so we can try to fix it!
-> I also just submitted a wish for push proxy list merging:
SourceForge.net: Phex - P2P Gnutella filesharing program: Detail: 2864041 - Push-Proxies for hosts should be updated with query results