Debiera ser:
QUERY("r" << BSON("$gt" << startVal ) ).sort("r" << 1)
o incluso más simple:
QUERY("r" << GT << startVal ).sort("r")
limit
se expresa como parte de la llamada para ejecutar la consulta (tercer parámetro)
auto_ptr<DBClientCursor> cursor = c.query("DB.coll", QueryHere, 1);