Groups are not suitable if you only want to disable the events for certain channels, use a global variable instead.

Code:
raw 353:*:{
  var %chan = $3
  if (%points. [ $+ [ %chan ] ]) {
    tokenize 32 $4-
    startpoints %chan $*
  }
}

on !*:join:#:{
  if (%points. [ $+ [ # ] ]) startpoints # $nick
}

on *:part:#:{
  if ($nick == $me) { $+(.timerpoints.,#,.*) off }
  else { $+(.timerpoints.,#,.,$nick) off }
}

alias -l startpoints {
  var %chan = $1, %nick = $2
  if (%nick == $me) return

  $+(.timerpoints.,%chan,.,%nick) 0 600 add.pts $+(%chan,.,%nick)
  add.pts $+(%chan,.,%nick)
}

alias add.pts {
  writeini -n Points.ini $1 Points $calc($readini(Points.ini,$1,Points) + 2)
}

on *:text:!gain on:#: {
  if ($nick == theyoungergamer) {
    msg # gaining of points is enabled
    set -e %points. [ $+ [ # ] ] 1

    var %i = 1, %n = $nick(#,0)
    while (%i <= %n) {
      startpoints # $nick(#,%i)
      inc %i
    }
  }
}

on *:text:!gain off:#: {
  if ($nick == theyoungergamer) {
    msg # gaining of points is disabled
    unset %points. [ $+ [ # ] ]
    $+(.timerpoints.,#,.*) off
  }
}