If you want to integrate your CMS, you can look at Comatose: http://comatose.rubyforge.org/.
Personally, I like keeping it completely separate. All you need is a global CSS stylesheet to "integrate". I can update the blog or the app without disturbing the other. I can also run multiple project sites off one Mephisto instance. Keep your app focused on kicking ass at what it does, and let your CMS tool kick ass at managing your static content
Same logins are tricky, though for now I think OpenID is the best solution. You can do weird session/database hacks, or you can use a standard protocol that's starting to catch on. It depends on who your audience is though. I think OpenID is a bit too new for the "general web public".