The way ettercap performs a MiTM attack is it convinces the host that it is the gateway and that the gateway it is the host, then performs translation between these two with raw sockets after its done its sniffing. If the ettercap box cant convince the host that it is the router, any packets the host is sending out will not be intercepted/read (unless the switch is forced into broadcast mode).
If the ettercap is able to convince the gateway that it is the host, it can sniff/modify/forward whatever it wants to the host, but cant see what is going the other direction.
The ettercap forums are probably a better place to discuss this if ya want and they are more familiar w/ current capabilities. I havent messed w/ ettercap since early .6's.
The attacker would probably end up causing a DoS to you if he attempted to use ettercap to sniff your machine since he would be receiving all the packets but none of the packets you are sending out would go to him.
Depending on the type of mitm attack and injection this statement may not be entirely correct (sorry). If a person was trying to inject entire packets they would be unable to do so because they couldnt watch all of the sequence packets in a tcp connection. To modify/sniff packets destined to the host though should not be a problem unless the connection in question is using a symmetric or public/private key encryption.
Hardcoding all of the mac's into the switch in question is the best solution to this issue. If you cant do that, encryption, hardcoding your hosts mac list, and arpwatch will limit the impact of the 'half' MiTM attack.