Here is an accurate and concise explanation of the Battle of the Chesapeake.
http://en.wikipedia.org/wiki/Battle_of_the_Chesapeake
Take note of the following;
"When the British fleet of 19 ships, now under Graves's command, arrived back at the Chesapeake on the morning of September 5, they found 24 French ships at anchor behind Cape Henry. The remaining 3 ships of de Grasse's fleet had been detached to blockade the York and James Rivers farther up the bay, and many of the ships at anchor were missing officers, men, and boats who were busy landing the French troops."
----------------
Those James River and York River patrols were for local light shipping and ferry traffic; bateaux.
------------
If Nelson had found the French fleet at anchor, he would of smashed it then and there. He was famous for this several times.
------------
In this attached picture, you will see the rationale of needing more than the default four ships to blockade the Chesapeake - 12 or more would be perhaps the right number.
So, using a database method for sea zones, it might be of this logic;
If Ships >4 and <12, then blockade local ports; if => 12, block this list.
The number range is open to debate, as are the zones to get this kind of rule, or we can leave it as is. A maximal number to block local ports, and another maximal to block more. 'upstream' does sound reasonable though.
---------------
Looking at the defined sea zones in BoA, Hampton Roads blockades the York and James River by default, as well as Norfolk, the Chesapeake Bay Zone blockades nothing, and the Zone Above that blockades three ports (Baltimore, Annapolis and Campbridge), the Potomac Mouth blocks Alexandria, and Sesquehena Mouth blocks Head of Elk.
If we had multiple upstream blockade for the Virginia Capes, the correct number of minimal ships to do this to equal covering the 4 zones defined in BoA to block all these ports would be 16 Ships.
To blockade upstream from Hampton Roads would also be a minimum of 16 ships.
A blockade force in the Capes Zone blockades nothing in BoA now, and likely should not.
Referencing the description of the battle above, 'behind Cape Henry' for the French Fleet position would put it in the Hampton Roads Sea Zone. That force at that position is what halted the British from entering. The Battle off the Virginia Capes happens to be where the French and the British conducted the battle relative to the blockade in the Hampton Roads Sea Zone.