Unfortunately, Jeff didn't have the time to review my code (I don't blame him, I wouldn't want to take on that task either). He did point out how all repeaters/signal boosters function which led me to the answer. Basically, the repeater is waiting for a command to be sent over PLC. When it sees the first 22 bits, it then begins repeating (and boosting if equipped) the same sequence right over top of the second set of identical 22 bits. If there is an irregularity, then bad things can happen.
I started looking at the code and realized that the command string that library was constructing was not 22 or 44 bits long.
1110010101100110100101 (correct 22-bit, set unit E1)
11100101011001101001011110010101100110100101 (correct 44-bit, set unit E1)
10110000000000000000100111001 (incorrect 29-bit, E1 ON)
Now, the correct 22- and 44-bit signals include the two's compliment data. Even if the 29-bit one did not, I don't see how it got the right data to the function that sends the data.
start string:
1110
house code (E):
0001
unit code (1):
01100
command (ON):
00101
No matter how I try to decipher the bad code, it doesn't make sense. Irregardless, that's not the problem. I found a couple more libraries and looked at them instead. The other libraries send out strings that make perfect sense but still caused signal collisions. The only way to fix this was to increase the gap between codes from 6 zero crossings to around 30 zero crossings. I'm not sure why I need such a large gap, but I decided to simply add a 0.5 second delay after every X10 command. With that statement included, the code works perfectly. I was originally going to keep the first library since it's a much more powerful code, but I couldn't figure out how to get it going even with the delay. So, I am now using the simpler code.
I have been testing the setup including the DHT11's on a breadboard over the weekend and it works great. I'm going to put this setup in the attic for a few days just to be sure before I tear into the finished v1 project. Assuming there are no errors, I'll update to v2.