Hi Mill,
If your not getting channels or searches on a Primary then this is usually down to a blocked port somewhere. Could be in a router or DSL Modem that has NAT (many of them do that are given by the ISPs) or a firewall blocking access.
Primary users do handle the channel list and search results for the secondary user so switching to secondary would work because the primary you connected to would take care of those.
If it was working fine then suddenly breaks that's usually down to some rules being set in a router/modem for a specific IP on your LAN, then the device assigns a new IP.
If you have already configured a router/modem to allow port for WinMX and then its not working now.. go back and check that your IP is still the same on the PC and in the Router rules.
If you have never set port before then, you need to do that.
Here are some links to help you get this set up for a router or DSL Modem with NAT.
Help with Configuring Router/ModemsSetting A Static IP - If yours changed i suggest you do this.
Popular Firewall ConfigsWinMX is designed to allow high speed on secondary because for many it works great, I've always said that for some users with slower machines, slower 'high speed' connections, or with companies that throttle a well configured secondary can work as well as, or better then a primary.
The Channel List is global btw, it matters not how many primaries your connected with. When you put out a request for channels while on primary its UDP and is sent global across the network. If you're not getting a full list while on Primary (partial 300-800 channels) then something on your system is blocking the flood of UDP that is coming in, as an attack. Even perfectly configured firewalls or routers often still kill this traffic as dangerous.
As Max said the 'get around' for this is to get the channel list as a secondary, which normally loads much slower then a primary list, and then switch to primary after its loaded. Or disable the firewall while you load the list then enable it again once its finished.