OK, I figured it out, and the reason is so weird (to me, anyway) that I'm posting it in case others run into it. What I was doing was instantiating and running two separate terminals while I converted, one through libtcod and one through blt, using the same inputs but different functions. Why this would interfere with each other, I do not know, but it does. If I comment out the 'render all' function for either one, the other works perfectly.