ebolbol, this shouldn't be so difficult to find now that you have isolated the plc from external comms....
1. Have you tried toggling the bit with the controller in Program mode ?
If you have, and it toggles OK, then clearly it is the running program that is putting it back again. If it does not toglle OK, and the controller is isolated from all comms, then you have a strange fault indeed !!
2. When you generate the cross-reference, you can either....
a> double-click the "Destructive" column header to sort the display (you may need to do it twice to get the "Y"s to the top). Now look down the left-hand column at the instructions, looking for OTU's and OTE's.
b> double-click the Instruction column to sort by instruction mnemonic, this will group any OTE's first, then OTL's, then OTU's
Either way, it's OTU's and OTE's you will be interested in.
If you find any of these,go to the rung where they exist, and see if the rung is TRUE for OTU's or FALSE for OTE's.....
Either one of these conditions will write the bit off again after you have toggled it.
If you get no success, can you post the .ACD or L5K export file (you will have to Zip it first, forum rule), and we can take a look for you.
PS : don't "AFI" any rung with an OTE of the bit, that will just create the very scenario you are encountering.
PPS : you said..
.... One thing about OTL's is no matter what is writing into them, you should be able to latch and unlatch it.... nope! not this one....
That statement is not correct. You need to realise that you are NOT toggling the OTL. An OTL is an instruction that writes a "1" into the tag address on the instruction when the rung is TRUE. Similarly, an OTU is an instruction that writes a "0" into the tag address on the instruction when the rung is TRUE. An OTE, on the other hand, will write a "1" or a "0" into the tag address on the instruction when the rung is TRUE or FALSE.
The toggle from RSLogix5000 simply reads the state of the bit, and writes the opposite state. If the code puts it back again, then there is a good chance of not seeing the bit change state
So your statement is incorrect, if the rung that has an OTL on it is TRUE, then you can toggle the bit off, but the rung will write it back on again.