To dość dziwne zachowanie. Po prostu uruchomiłem twój kod lokalnie i wszystko działało. Czy możesz sprawdzić, czy używasz wersji sterownika 0.18.2? Jeśli tak, upewnij się, że jest to jedyna zainstalowana wersja (tak jak w przypadku sprawdzenia poprawności).
Myślę, że nie powinno to robić żadnej różnicy, ale nie uruchamiałem #group z MongoMappera - używałem samego klejnotu. Możesz też tego spróbować. Oto kod, który uruchomiłem:
require 'rubygems'
require 'mongo'
d = Mongo::Connection.new.db('blog')
c = d['post']
p c.group("function(x) { return { month: x.date.getMonth(), year:x.date.getFullYear() }; }",
nil,
{ :count => 0 },
"function(x,y){y.count++}",
true)