Yes that is essentially correct. Computer A is the notebook. Computer B is the system I built recently. The user wanted to be able to copy files between them sometimes and wireless is too slow for a few GB each time. So I added a spare 100Mb NIC to the main system and it is connected to the router. There is a crossover cable to connect the onboard GbE to the notebook's GbE port. I did not notice a problem at the time of setup because the cable is only connected for a few minutes at a time.
There should be no problem doing what you want, and you don't have to worry about using separate protocols on each NIC or disabling any protocols.
This is purely a question of routing and it sounds like the computers are attempting to access the internet through the crossover link instead of the internet link. By configuring the appropriate IP settings you can tell the PCs how to get to each.
1) Ensure both PCs are setup as DHCP on their connections to your NAT router and receiving valid private IP addresses.
2) Ensure that the p2p network is configured statically using a
DIFFERENT private IP range than the internet side. (172.16.0.x is a good candidate).
Assign .1 on one PC and .2 on the other, with a 255.255.255.252 netmask - fill in
ONLY the IP and Netmask.
3) Connect to the PCs via IP (\\172.16.0.1 or \\172.16.0.2 in explorer) and not by name.
Assuming that Client for MS networks, File and Printer sharing, and TCP/IP are enabled (the default), your windows firewall is set to allow these protocols, you have the proper user credentials setup, and you have shared one or more directories, you should be set.
The result should be that your routing table has entries for the 172.16.0.x/30 network, the private IP network used by your router, and a default gateway of your router. You can verify this with "route print" from the command line.