The program is clearly acting in an inconsistent fashion, but before the bug is "fixed" let's make sure that we all understand the intent of the scouting rules, so that it is fixed properly.
It was my impression that the scouting level is supposed to apply to a particular region, for the duration of the period from a friendly Movement Phase until the end of the next friendly combat phase (i.e., start of the next friendly Movement Phase). Since the order of the phases, as defined in the Sequence of Play, are such that the Combat Phase is before the Movement Phase, scouting levels should always bridge two distinct turns. These results should be independent of whether or not there are any combats that occur. At least this is the way the manual describes it.
The reason I mention this, is because your Case A description concerns me, as it is presently written. You say "The units in Winchester remained unspotted during the USA turn (as expected)" but in fact, according to the description of the rule, they should be spotted if they move into Winchester, during a point in time that the scouted level was 100%. Regardless of whether attacks occurred anywhere on the map, or in Winchester, in particular.
Your Case B seems to be the proper way the program should work, yet your final sentence of that case states "(very much not as as expected)". I am a bit confused now. Do you have your expectations inadvertently reversed in the cases?