USB Serial on Leonardo is affecting a sketch

I said this before I know exactly how many bytes the device will send at all times
if it has nothing to respond with when I do the poll near the beginning of loop
it responds with 0 or 1F
if needs the arduino (a host or server) to handle an event it will send a single byte
if that event requires more data from the device it will send a specific poll for the data
then the data is either processed or discarded (some of the data I do not care about)
But that data is always a set number of bytes (per the docs I am referencing to code this)
if I need to deal with a unknown number of bytes then I will code for it those events that cause it.

Like I said the both work as long as the Leonardo see's a PC connected!!
unplug PC and use a USB power adapter or AC adapter connected to the power jack.
I expected the PC one to fail no serial connected, but the no PC version also fails
it has to be the Serial one interrupts are changing something when PC is connected via USB and not connected.

I just copied the PC version over the none PC version, then edited it to eliminate Serial.begin(19200); and every Serail.print("......");
I triple checked the code by using find Serial. it functions correctly as long I use the USB port to power it, yes it even drives a Max232, device serial is RS232
and yes both the USB pwer adapter and the AC adapter have enough current to drive Leonardo and the Max232
but when I try to cause one of the events on the device
the only code that seems to function is the digitalWrite portions.

and the non pc version fails to handle events but I reconnect the pc and it does just fine.