Okay, so we don't trust promotional videos. Which is fair. How about the NTSB report on the 1987 Chase, MD wreck? The information on the cab signaling system begins on page 32.

On the corridor between New York and Washington there is a continuous-induction ACS system that repeats the wayside signal aspects on a four-aspect cab signal installed in the cabs of the locomotives. At the time of the accident, all locomotives and multiple-unit commuter cars operating on the corridor were equipped with these cab signals. As the train passes a wayside signal, the corresponding aspect of the cab signal is illuminated.
The last sentence suggests that the cab signal reflects the signal that was just passed.

However, there are some circumstances under which the cab signal can change while the train is in between signals. And perhaps that is what Vince saw on his cab rides. There are code change points located between some (not all) signal heads where cab signals can upgrade or downgrade based on changing conditions. However, the new signal tells you the aspect you should have seen last, not the one you will see next.

At least, that is my reading of the report, which includes an illustration of Gunpow Interlocking and walks through a number of scenarios under which the cab signals might get downgraded:

signals_gunpow.jpg

On high-speed track 2 approaching Gunpow, there is a cab signal code change point, identified as CS-826, 4,749 feet south of northbound distant signal 816-2. If signal 816-2 were to change to an "approach" aspect because home signal 2N had changed to a "stop" aspect, then the aspect of the cab signal of a northbound train that had been running on a "clear" aspect on track 2 would have changed to "approach medium" at CS-826.
So you're on track 2, and signal 816-2, which is further down the line, suddenly downgrades to Approach. You cab signals also immediately downgrade. But they do so to Approach Medium, which you hypothetically should have seen when you passed signal 836-2. They do not indicate Approach.

A northbound train on track 1, having received an "approach limited" aspect displayed by distant signal 816-1 and thus concurrently displaying an "approach medium" on the cab signals, would have had the cab signals change to "approach" if home signal 1N changed to "stop" before the train reached CS-806. When the train reached CS-806, the cab signals would change to "restricting." If the train was already past CS-806 when the home signal changed to "stop," the cab signals immediately would have changed to "restricting" as a result of the loss of the code rate.

Similarly, a northbound train on track 2 proceeding on a "clear" aspect received at signal 816-2 would have had a cab signal change to "approach" if home signal 2N changed from "clear" to "stop" before the train reached CS-806 and from "clear" to "restricting" at CS-806. Again, the cab signal would have changed to "restricting" if the home signal changed after the train passed CS-806.
The same logic applies to an upcoming Stop at signal 1N or 2N. Your cab signals would downgrade to Approach, not Stop - up until the code change point CS 806, which point they would downgrade again to Restricting. Stop signals are a special case. There is a Restricting code sent out a couple thousand feet in advance, but this only applies to the area beyond the code change point, not to the entire block following the last Approach signal. And again, the cab aspect is known as Restricting, not Stop.

In summary, if we assume Stop signals at 1N and 2N, this is how the cab signals would behave as Kuju programmed them:

signals_kuju.jpg

And this is how they should actually behave, if I've interpreted the NTSB scenarios correctly:

signals_ntsb.jpg