Well, table prefixes are added complexity that is unnecessary as long as you can create additional databases, and there is no reason you shouldn't be able to create more databases. Charging per database is a silly idea, but some hosts do it. There is no technical reason to charge on that basis.
I've heard good things about Amazon. But I've also heard it can be excruciatingly expensive. The advice I've been given before is to shop around as although there are some major benefits especially to their EC2 model, sometimes the costs outweigh this. But obviously I have no idea on what you're hosting there, what service you have or how much you're paying but that's just the advice I've been given.