1. All clients should always be sync'd. When you do a Send to all, everyone gets the packet. The TNManager.isHosting client should be the only one to send out AI updates, however. You need to think less dungeon master, more group leader.
2. AutoSync can be used so automatically synchronize a public variable or property across all clients. Just attach the script to an object, and choose it from the drop-down list. If you need a tutorial for this, then something is really wrong.

3. Only the host should be sending out updates, as I mentioned in #1. But yes, all clients should be receiving them.
Based on your questions, I highly recommend you familiarize yourself with the examples in TNet before going further. You're approaching it from a traditional "server knows everything" perspective, when in TNet a server is simply there to forward packets between clients, and the authoritative player is the one that does all logic. It's a much cleaner design, and once you wrap your head around to it, you will be able to reduce your code paths significantly.