iv seen this windows 169.xxx.xxx.xxx problem before and never really bothered to find out how to turn off the option (in the registry i assume somewere).
it all seems to come down to the fact
some MAC cards dont work well with VM kit as these cards come with a MAC of 00.00.00.00 but again thats not always the case as the official NTL USB2-to-ethernet(RJ45) adaptors also come with 00.00.00.00 and work fine.
it seems (with my limited diagnostic testing)that if its going to effect you its going to be PCI cards with a MAC of 00.00.00.00.
right so thats the basic findings out of the way, we already know from what you tell us that the USB connection on the modem is working and so the modem is configured and fully registered etc, that leaves the RJ45 connection is eather broke (i dont think so) or its this MAC problem (probably).
you probably already know this but you
can not use both the USB and the RJ45 connection on any VM modem
at the same time as they didnt see fit to add that mini router code into the CM firmware, only ever one port at a time, and
a power cycle is required every time its swopped over...
again it doesnt seem likely the ethernet cards are faulty and its just windows (gota love the auto 169.xxx.xxx.xxx thing)messing it up again.
the reason the disconnecting the coax cable WAN port above was mentioned (even though many people dont know why)is that if the Cable Modem is not connected to the VM network cable it should still give you a valid IP address in the same range as the cable modem, that being the 192.168.100.* range other than the CMs 192.168.100.1.
so you can bypass windows stupid attemps to give you a working LAN address of 169.xxx.xxx.xxx and put a manual 192.168.100.* address in by hand to see if you can at least test that you can access the CM's internal mini web server.
so heres the test that will tell you if the PCI ethernet/RJ45 card in the machines is working and you are able to say for sure it is fine all the way to the VM DNS servers and beyond (even before its got a fully working provisioned connection with 82.*.*.* infact).
ill assume even the removed WAN cable test didnt give you a valid 192.168.100.* address and move on ,and that if you have more than one ethernet card (be it USB, PCI or laptop card) they are disabled for now to keep it simple.
disable all ethernet cards other than the one card you have pluged directly into the CM using a straight-through RJ45 cable.
VM-CM-RJ45-or-STB-RJ45<===>PCI RJ45card : (not <=x=>)
you see the Enet light on the CM light up and the light on the PC's ethernat card also light up.
open a shell in XP start/run and type
cmd enter.
type in there,
ipconfig and it should come back and say the usual wrong 169.xxx.xxx.xxx IP address, you need to manually change that.
open 'network connections' and then 'properties' of the pluged in net card double click the internet protocols(TCP/ip) and bring up the and select and enter into the 'use following IP address' for instance
ipaddress: 192.168.0.100.2
subnet :255.255.255.0
default gateway: blank
prefered DNS:194.168.4.100
alt DNS: 194.168.8.100
and save/OK all that
---------------------------------------------------
that gets you to to the point (or should if the PC's network card is infact fully working)were you can now open a browser and put the
http://192.168.100.1 url and once again see the CM's internal web server as you did before over USB port but using the RJ45 port instead.
now go back to the shell and type ping
www.ntlworld.com or any other valid URL and the VM DNS (thats why you manually entered them above) should return with the URL's IP and ping fine without drops.
that
proves your PCI card is working.., its getting through to the CM's internal web server, it is also talking to the VM internal DNS servers and you can even tracert too,
but your still not working though 
thats because of that windows PCI NIC MAC thing above, 00.00.00.00 and so youre not being given a valid VM web IP 82.*.*.*
so we are back at square one again after you reset the PCI network card to 'obtain an IP address automatically' and the same for the DNS.
how do we try and fix this windows 169.xxx.xxx.xxx problem?..., the easyest way iv found is to set another valid MAC address in the windows PCI card config.
'local area connection properties/configure/advanced/NetworkAddress'
how did i get a working valid new MAC address ?,
i did it the easy way and didnt need to faff about as above to test if the network was really working, i downloaded/burned and booted a slax liveCD
ftp.slax.org and took the MAC address it gave to the generic 00.00.00.00 problem and entered that into the windows network MAC above, slax also allowed me to register the new CM on the VM system and enter the email accounts etc.
so my advice is use the slax, test the connection and browse for a bit if it works, then make note of the new MAC address and enter that into the windows side later and as the modem was already (assumed) fully working and registered with that MAC the windows side should now also work and not be giving you the 169.xxx.xxx.xxx but rather a full valid 82.*.*.* address now.
i see this quickly typed help is rather messy, but i cant be bothered to rewrite it

it should help readers with at least the windows 169.xxx.xxx.xxx problem anyway....