Maybe you're being a little hard on BT?
In common with other ISPs they don't like relaying - that is, emails being sent across their servers to an smtp mail server on another domain name. The reason is that spammers use this method, and BT doesn't want its smtp mail servers being used for spam purposes.
If you want to use your own domain name you should use the BT smtp server for outbound mail, but you'll have to let them know first. You can do this via your BT Yahoo login - there's a special section where you can authenticate yourself and register the domain name that you want to use to send mail via the BT smtp server.
You can of course still use your own domain's POP server for inbound mail, as you've no doubt discovered.
I've been doing it without any hitches for years.