A lot of people do experience this issue - myself included. The cable companies claim that they don't care what devices are connected on your end, but there remains much speculation about that. (I've yet to see a disgruntled ex-employee post on one of these forums.... anybody??!?)
Usually in your web-based router configuration there is an option to use an alternate MAC address. Sometimes changing this to the MAC address of the computer that works when directly connected will work. If you don't know, the easiest way (for me) to get the MAC address of the Ethernet adapter is to run ipconfig /all from the command line. So:
1. Click Start > Run
2. Type "cmd" or "command" (no quotes) and click OK
3. Type ipconfig /all and press Enter
You are looking for the value Physical Address (for the appropriate adapter, of course).
Enter this value in your router setup, power all the devices down, then connect things the way you want them.
If you need more detail, let me know.