Some thoughts on this:
They would only be able to use that private key & address for your DApp. You would not only be an app to them, but you would become their de facto wallet application. Maybe only for a short time, but still.
As a wallet application, your software is responsible for the security and safe-keeping of your user's money. That's a big responsibility to carry. You really really need to make sure you get the security aspect right. The smallest mistakes can cause loss or theft of funds.
As a wallet application, you need to make sure the user backs up their private key, or a seed used to generate their private key.
Of course, you need to make sure the random generator you use is secure, and cannot be predicted by anyone.
Just creating a private key & address does not get the user started. It helps, but the user still needs to acquire Ether and send it to that address. That will most likely take them longer than installing MetaMask or Mist.
Users may not understand why they can't use the Ether in your wallet application for other DApps. This may actually slow them down and annoy them more than it helps them in the long run.
My conclusion is: I would not generate the private key & address in the DApp. In the Ethereum ecosystem you can make clear distinctions between full nodes, wallet applications and DApp's. As a DApp, you are overstepping your bounds. As a wallet application, your security and code quality requirements are brought to a whole new level: the level of banks! Also, as a wallet application, you would lack many features that other wallets do have.
I hope this helps.