One thing I haven't mentioned...when I start the car, usually the security light is out and then will go on after a little while (Maybe 10 minutes, but I haven't timed it exactly)
Yes, this is another clue pointing to poor connection(s). Even after the truck has started the BCM continues to monitor that Passlock Data Voltage. If it fluctuates outside of the thresholds for the Passlock code it has learned then it will light the security light and set a code. In these cases the Passlock may enter a "fail-enable" state that will allow a restart even with that "bad" code so you are not stranded in a parking lot or what have you.
that a bad ground could be the possible culprit,
Not only a ground but that bypass module blue wire to the passlock sensor yellow wire. A poor connection there would cause the Passlock Data voltage to drift higher same as a poor ground will.
One thing that surprised me was the bypass module does not apparently use the same low reference ground as the passlock sensor does for placing a resistance to ground on the yellow BCM/Passlock wire.
This may open up the possibility of a different ground potential applied to the yellow wire when the bypass module is active vs when the passlock sensor is active. Did I state that clearly? So when the bypass module places the resistance in the circuit from yellow to ground it is not using the same ground (or low reference) as the passlock sensor does. Often there are resistive diferences between ground points.
Not knowing how the bypass module functions internally it is difficult to say what to expect here. This much is certain, only one of the resistances, Passlock sensor OR bypass module, can be applied at a time. It cannot work with both active at the same time. With this in mind I would expect the bypass module to disengage completely when not active so then we should be seeing the full voltage in the Passlock Data signal before starting the engine.
I would proceed in this order:
Disconnect the harnesses from the Bypass module and recheck for the 5 volt Passlock data signal at key RUN position.
If the nominal 5 volt signal is still not there then disconnect the Passlock sensor at the harness on the ignition lock housing and retest for the nominal 5 volt signal.
We need to assure the 5 volt signal is there before the engine is started (or the key has been turned to START).
Recheck all associated wiring, ground points, splices, etc.
Consider running the bypass module reprogramming sequence. Reading how this procedure is done tells me that the device reads the Passlock Data signal voltage during the relearn and calculates the required resistance to produce the same voltage seen during the learn procedure.
If the module is not simply using fixed resistors inside and
for whatever reason the voltage read during the learn was very close to a threshold value it is possible that the bypass module will learn and recreate that value from then on. In this case it would be nice to have a Passlock voltage that is not near a threshold value during the learn procedure.
If the bypass module uses fixed resistances then the best hope would be that we find a poor connection somewhere that is causing the Passlock Data voltage to be too close to a threshold value.