Wouldn't it make more sense to let potential users try out the product, as is the norm in B2C, leading to more client engagement and potentially more traction? And what's all the secrecy about?
With the hope that the product will be so addictive to its users, most B2B SaaS companies will allow you to test ride the product before starting to charge you.
However, the answer to your question might depend on some factors and the first one that comes to my mind is the training needed to use the service.
At OneMove Technologies, for instance, the complexity of the program required a 30 min demo to really appreciate what the program might do for its prospective customers.
This can be easily be replaced by a good old video but then the sales reps, who are remunerated with commissions, might get a bit territorial. For them, the easiest way to claim a client is by demoing it.
Even in these cases, smart companies will let you test drive it for a 2 or 3 uses (if billing per use) or for a period of a month (if billing with subscription) before charging customers and adapt their incentive plans accordingly.