Thanks for the tip about echo adding a newline character. I didn't know that. After I added the "\c" to the input it worked fine. In experimenting with it I ended up doing what you described: putting the escaped chars in a string and then coverting them to their actual chars using echo:
input="FDCB\x1F\x00\x00\x00Service=RC_SERVICE\x1ECommand=Ping\x00\x00\x00\x00\c"
output=$(echo -e $input | nc $ip $port -w 5)
Again, thanks for your help! I have attached the full script for anyone's future use. Let me know if you think there should be any further optimizations or changes.