cwa, my 15 metre ethernet has always worked fine with the many devices I've used it with; and my router has the latest firmware.
Cardinal rule of troubleshooting network issues is to start at the physical layer and work your way up. Not all networking hardware is created equal, and although your iMac probably uses an off-the-shelf chipset, I have seen circumstances where certain NICs were more sensitive to cabling than others. Do yourself a huge favor - move the iMac close to your router and use a good quality cable and see if the issue persists. If it does not, you know what your issue is. If it does, we can continue further.
Simply put, if your car doesn't start, you need to check to see if there is fuel in the tank before you start rebuilding the engine.
This problem has popped up over the internet and one ex-Genius has referred to it as a serious critical flaw in OSX that he doesn't know how to resolve in many cases.
Complete and utter rubbish. The foundation of OS X (and in particular, its networking stack) is BSD (a UNIX variant), which has been tried and proven in industrial-strength applications for 30+ years. As a professional network administrator, I can pretty much guarantee you this has nothing to do with OS X.
No disrespect meant to Apple "Geniuses", but my experience suggests that most of them, while well-meaning, have very little expertise in anything that's not Mac-specific. Networking may seem simple, but it is actually quite complex. Much like I wouldn't expect a plumber to troubleshoot an electrical issue, I wouldn't assume that a computer technician (particularly one versed solely in a single platform) to troubleshoot a network issue. They are not one in the same.