Lots of issues here... I'll stick with two:
1) Bounces: Most ISPs no longer bounce undelivered mail back to the "from" address. The reason? Two thirds of email is spam, and 99% of spam comes with forged "from" addresses. If ISPs were still bouncing undelivered mail the way they used to, the whole email system would break down as undelivered mail is bounced around ad infinitum. Discarding undelivered mail is often the only option.
2) Spam filtering: Most ISPs have some of spam filtering, and only the better ones give customers the choice to opt in or out. There are lots of different methods of spam filtering, and much of it is based on IP addresses. ISPs will usually subscribe to blocklists (compiled by organisations like Spamcop, Spamhaus, Spews and many others), and check inbound mail against these lists.
The better blocklists are dynamic - e.g., with Spamcop an IP address will get listed if it has sent more than x amount of spam in n amount of time, but will get delisted when no spam has been recorded from the IP address for a set number of hours. But some (like the rather idiosyncratic Sorbs list) will list IP addresses forever. Lists like Sorbs should never be used to discard mail. In fact in a well-run system spam should not be discarded - full stop. In a well-run system spam should be tagged, or filtered to a separate web-based account where the user can view his mail and release anything that isn't spam. But running a GOOD system costs money, so you're not going to get it with a free ISP or a cheap forwarding service.
If you want to take control of your inbound mail find a quality hosting company with optional spam filtering, and have your domains hosted there. You get what you pay for...