I seem to have fixed it by simplifying my network. Previously I had a second router serving Firefly through a “b” network for my Rokus. Everything else was on a “g” network. I tried moving the server to the “b” network (to solve the disconnect problem) and it all went pear shaped. The Rokus would only stay connected to Firefly for minutes even when I moved it back. After a day of un-installing/rebooting etc I decided to reset one on the routers to a “g” network and connect everthing to it and it worked. Been stable for a couple of days now.
Guess I was over complicating things and it may have been related to the PC with the iTunes problem. It is my work PC and has all sorts of enterprise network stuff on it Cisco VPN, pointsec etc etc.