O que é o checksum do Base58Check e para que serve?
É SHA-256 aplicado duas vezes sobre a versão mais o payload, do qual só os 4 primeiros bytes viram parte do endereço codificado. Qualquer caractere digitado errado troca esses 4 bytes de checagem, então a wallet recusa o endereço antes de tentar enviar qualquer valor, em vez de mandar fundos para um destino inexistente.
Por que uma chave privada comprimida começa com K ou L em vez de 5?
Porque o payload de uma WIF comprimida tem 33 bytes, um a mais que os 32 de uma WIF sem compressão, e esse byte extra (0x01) empurra o valor numérico do payload inteiro para cima antes da codificação em Base58, o que desloca o primeiro caractere de 5 para K ou L.
Um endereço de testnet pode ser confundido com um de mainnet?
Não, e é por isso que os bytes de versão são diferentes entre as duas redes: 0x00 e 0x05 no mainnet contra 0x6f e 0xc4 na testnet. O byte de versão é a primeira coisa que Base58Check confere ao decodificar, então uma wallet identifica a rede errada antes mesmo de checar o restante do payload.