In Johns original post he states the vent hose is coiled 3 times. I am betting that was done to keep water and other road debris from getting into the tank via the vent line. Good intent, but with bad results.

When he drives the truck the fuel sloshes around in the gas tank and some of the liquid gas ends up in the vent line. The liquid gas becomes trapped in the 3 coils (that's the problem). The liquid gas in the vent line now creates a liquid seal and thus the vent line no longer performs its required function of venting gas fumes at atmospheric pressure. (Same principal as a P-trap on your kitchen sink and toilet, the liquid seal is why you don't smell sewer gas).

With a non-vented cap on the gas tank, if the fuel in the gas tank warms up the tank will build pressure due to the trapped liquid gas in the vent line coils. That pressure pushes the liquid gas in the coiled vent line out and thus it pukes the trapped vent line liquid gas out after it has been parked, again because of the coiled vent hose. (Kind of like flushing a cherry bomb down a toilet results in the water in the line to puke out of the toilet and sinks.)

The roll over valve will fix the gas puking problem. It won't however stop the smell of gasoline vapors, if the vent line is working it properly it will vent some gas fumes when the liquid gas warms up and expands. Newer cars have charcoal canisters on the vent line of the gas tanks that scrubs the vapors and prevent the gas smell.