Treating Google and other bots as users
You should always treat Google exactly the same as your users, I can understand the benefits of having a seamless experience by not having to leave the current page but still having the SEO benefits of having multiple pages. There are many methods of having a website operate this way without having to detect crawlers and treat them any different.
The most biggest problem is backlinks
The biggest problem your face is backlink SEO when users are only being served one page, that means a user may not be able to copy the link of the page they are currently are on affecting both user experience and SEO.
There are various methods that are compatible with Google from page loading JS scripts that will load the page the user wants to go to first and then serving it with a loader which can give the impression of being seemless, the other method accepted by Google is hashbang using Googles Ajax Scheme. It should be noted that users on the site using the Google Ajax compatible method should be able to backlink to what they are looking at. So serving a pretty url using hashbang and a ugly url for Google, but importantly but pages should be accessible by Google! So if you want urls without hashbang being indexed then you would use canonical which would look something like this on your hashbang urls:
<link rel="canonical" href="http://example.com/not-hash-bang-url" />