Data differences when debugging

Thew program I’m working on uses a rabbit 4400 processor, it poles a car OBDII information and sensors we place in the emissions module. It then transmits the data over the celluar network to a server.

When the program is stored in flash running in ram, it works perfectly as long as the programming ribbon is connected to the debugging computer. When I disconnect the cable while the program is running, the it continues to transmit data over the celluar network but doesnt poll the obddi or emissions anymore.

If the cable is unplugged and the program restarted, the timing on everything is messed up and it just transmits random junk over the celluar link.

Same thing happens when program is stored to flash and run in flash.

Any have any idea why? and how to correct issue?