Ok, I've really been looking at this...
Your modifications of the second code, dcx2, worked when everything I tried had failed (my attempt would only work up to a certain point).
I read the documentation closer to make sure I was understanding it correctly. I understand the logic of how my code should go and the logic of how the code-type works...
I tried my first code again and found that it DID still work, so I checked in memory viewer to see what the adjacent values were. All 8bit values in this memory area are similar. I set ALL values, 2bytes on either side, to ZERO except for the address I wanted to read (28907B71). I tried the code again and it still worked...
Also, I re-read through this thread to make sure I wasn't missing something before continuing with testing and found dcx2 saying:
The last bit of the address CANNOT be a 1, for two reasons.
1) The last bit of an if code-type's address is used to signify an end-if.
2) You would be doing an un-aligned read. If you want to read a 16-bit half-word, your address MUST be a multiple of 2. This requirement is why the least significant bit (LSbit) can be used for an end-if.
For my first code the address I WANTED to read as an 8bit IF was 80907B71. My first 8bit IF was 28907B72 FF000003. The one dcx2 posted had 28907B70 FF000003. I had all adjacent memory addresses set to ZERO and my version of the code STILL worked. Was it because the address 80907B71 wasn't aligned and increasing (instead of decreasing) the last bit fixed this? This would explain why I was getting so confused and messing up my second attempt using different addresses...
EDIT:
It must be the alignment. Here are some examples of codes that I have just created. They are all based from codes that I just made. the codes work as expected...so these should be correct
When reading an 8bit value at address 80907B71
28907B70 FF000001 if = 01
00123456 000000xy 8bit write xy to address 80123456
28907B71 FF000002 endif = 02
00123456 000000xy 8bit write xy to address 80123456
28907B71 FF000003 endif = 03
00123456 000000xy 8bit write xy to address 80123456
E0000000 80008000 terminator
When reading an 8bit value at address 80907B72
28907B72 00FF0100 if = 01
00123456 000000xy 8bit write xy to address 80123456
28907B73 00FF0200 endif = 02
00123456 000000xy 8bit write xy to address 80123456
28907B73 00FF0300 endif = 03
00123456 000000xy 8bit write xy to address 80123456
E0000000 80008000 terminator
When reading an 8bit value at address 80907B73
28907B72 FF000001 if = 01
00123456 000000xy 8bit write xy to address 80123456
28907B73 FF000002 endif = 02
00123456 000000xy 8bit write xy to address 80123456
28907B73 FF000003 endif = 03
00123456 000000xy 8bit write xy to address 80123456
E0000000 80008000 terminator
When reading an 8bit value at address 80907B74
28907B74 00FF0100 if = 01
00123456 000000xy 8bit write xy to address 80123456
28907B75 00FF0200 endif = 02
00123456 000000xy 8bit write xy to address 80123456
28907B75 00FF0300 endif = 03
00123456 000000xy 8bit write xy to address 80123456
E0000000 80008000 terminator