I'm the cheif architect for a company that offers SaaS.
Our hosted small company application is having a couple of thousand customers in the same database. No client will ever know it's id or being able to input it anywhere to trick the system to bring back data from some other client. If you are planning to grow big, it's best to have as few instances as possibly from a maintanence perspective. Database Indexes and webserver caching is probably the two toughest problems for us. Caching since no data is shared between clients, and idexes since we have to index to the mean, not how a specific clients data neads are. WE rarely have any performance problems though!
We also have single database for each hosted large client.
Large clients gets there own url and virtual directory, so its always easy to figure out what database they should connect to.
Sceptical