link está retornando o IP com um caractere de alimentação de linha no final (noticee em seus exemplos, há uma linha entre o endereço IP e -1 ou 1).
Use isso:
externalip = replace(http.responseText, chr(10), "")
Isso substituirá o feed de linha por nada e deve ser comparado corretamente.
Para responder à sua pergunta, -1 0 e 1 são baseados em como as strings são classificadas. EG, 0 vem antes de 1, então você teria -1. T vem depois de A, então você teria 1. T = T, então você teria 0