It's a moral obligation, yes. Plus, it's still nowadays a very powerful lever to keep relationship with local elites.
No, it isn't. They are independent countries and should be treated as such. Diplomatic bribes aren't a good enough reason to continue doing subsidising this.