For the 3 bitcoin address types, which can send to each other? Can a valid tx be created that spends to an unspendable address? I'm just getting started with using bech32 addresses instead of legacy addresses, and I'm not familiar with how the legacy vs segwit compatible vs bech32 addresses play with each other. 

Can I get an explanation or 3x3 square for the 3 address types on what can send to what, what would be lost forever, if any, and what the error messages or problem with sending from one to another would be?

(I'm interested in the deep dive, but probably just a description on how to avoid losing any coins would be most helpful.

If I give my friend a bech32 address, I want to make sure that when he sends to it, the worst case is that he gets an error. Is there any extra care I need to take, or is that how it generally works now?)
What you can spend, and what you can send to depends on the wallet software and nothing else.

There are no inherent restrictions on any combination. 

In case someone uses old software, they may not be able to send to bech32 addresses. But they'll get an error that the software doesn't recognize the address; no funds will be lost.