Il limite del parametro di tipo generico per BSONValue in ValueMapWriter la definizione non è corretta. Se modifichi la linea
implicit def ValueMapWriter[V](implicit vw: BSONWriter[V, BSONValue]): BSONDocumentWriter[Map[String, V]] =
con
implicit def ValueMapWriter[V](implicit vw: BSONWriter[V, _ <: BSONValue]): BSONDocumentWriter[Map[String, V]] =
quindi dovrebbe risolvere lo scrittore implicito per Int.
A proposito simple-reactivemongo già lo fa. E sto anche pianificando di aggiungere questa funzionalità a ReactiveMongo Extensions .