I've been using this gist for a few months now and pretty much everything has been going pretty well. It's been relatively pain free and I'm really happy with it.
I did run into one small problem today though. If you destroy an account with Devise, it tells the ORM to destroy the object first and then logout. However, when Devise/Warden logs out, it tries to write some data to the object. The problem is that whenever MongoModel destroys an object, it freezes it afterwards. So an exception occurs whenever it tries to logout and write data to that frozen object.
To solve this, you can roll your own controller and inherit the Devise registration controller. Just copy the code from the destroy function from Devise and make sure to call the logouts before you destroy the object.