Yep - the default client won't let you send to an invalid address. And even if you used client software that was broken and performed the check incorrectly, the transaction would still be rejected by the other nodes in the network.
Not necessarily. The protocol itself doesn't use base58 or the typo checksum, AFAIK. If your client sends out a hash it derived from a typoed base58 string, nobody on the network will know it was a typo, they just see a 20-byte hash that could be anything.
[1] https://en.bitcoin.it/wiki/Base58Check_encoding