Okay, so it sounds like you just have a modem, not a router - is that correct?
I am not a wireless expert, but I believe that if you want reliable connections on a home network, you need to create a wireless network with a router that sends signals throughout your house. In other words, you route all the signals through the router to the modem. You might want to test by placing your other devices close to the iMac - do you get a more reliable connection with it?
Also see this portion contained in the link I posted previously - that appears to apply in your case:
If your Internet connection and your local network use the same port (Ethernet, for example), investigate possible side effects before you turn on Internet sharing. In some cases (if you use a cable modem, for example) you might unintentionally affect the network settings of other ISP customers, and your ISP might terminate your service to prevent you from disrupting its network.