Vaya, entonces no he entendido bien la pregunta al decir: "
pero lo que ocurre es que el grid se va moviendo cuando selecciono los registros que están muy abajo".
Se tendrá que mover el dbgrid para marcarlos, digo yo.
O no acabo de entender la pregunta
Si es sólo sumar los marcados entonces lo que he dicho antes está bien, creo, ya que sólo hace falta recorrer y comprobar si está seleccionado, pero no asignarle un bookmark a cada uno, como hace en el bucle.