At the moment you decide to reject the unregistered user, take a peek at the user agent. If it's from the search engines you want to let in, let it in.
Make sure to submit a single page to each search engine that links to all the content you want indexed.
WATCH OUT in case the search engines rename their user agents.
Then, watch helplessly as people visit your site from Google, get challenged to register, click back, then click on Google link that shows you the cached copy.