Weird... well - some remote debugging then. Please try the following "verbose" version of the greetall alias - what's your output?
Code:
alias greetall {
  ECHO -ag * GREETALL $1-
  var %exclude = $me
  var %delay = 500
  if ($me ison $active) { 
    if ($calc($nick($active,0) -1)) {
      var %t = $v1, %greeting = $$iif(($1- != $null),$v1,$input(Enter greet message:,eog,Greet all %t users of channel $active,Hello))
      write -c greetall.txt
      ECHO -ag * file created: $isfile(greetall.txt) lines: $lines(greetall.txt)
      var %n = 1, %nickstring
      while ($nick($active,%n)) {
        var %nick = $v1
        ECHO 7 -ag * loop: nick no. %n in $active is %nick
        if (!$istok(%exclude,%nick,32)) {
          var %nickstring = %nickstring %nick
          ECHO -ag * (not excluded) nickstring is now: %nickstring
          if ($len(%greeting %nickstring) > 250) { 
            ECHO 9 -ag * write (len reached): %greeting $+ $chr(15) $iif(($numtok(%nickstring,32) == 1),%nickstring, $&
              $replace($gettok(%nickstring,1--2,32),$chr(32),$+($chr(44),$chr(32))) and $gettok(%nickstring,-1,32))
            write greetall.txt %greeting $+ $chr(15) $iif(($numtok(%nickstring,32) == 1),%nickstring, $&
              $replace($gettok(%nickstring,1--2,32),$chr(32),$+($chr(44),$chr(32))) and $gettok(%nickstring,-1,32))
            ECHO 9 -ag * read of last line: $read(greetall.txt,n,$lines(greetall.txt))
            var %nickstring
          }
        }
        inc %n
      }
      if (%nickstring) {
        ECHO 9 -ag * write (final line): %greeting $+ $chr(15) $iif(($numtok(%nickstring,32) == 1),%nickstring, $&
          $replace($gettok(%nickstring,1--2,32),$chr(32),$+($chr(44),$chr(32))) and $gettok(%nickstring,-1,32))
        write greetall.txt %greeting $+ $chr(15) $iif(($numtok(%nickstring,32) == 1),%nickstring, $&
          $replace($gettok(%nickstring,1--2,32),$chr(32),$+($chr(44),$chr(32))) and $gettok(%nickstring,-1,32))
        ECHO 9 -ag * read of last line: $read(greetall.txt,n,$lines(greetall.txt))
      }
      ECHO -ag * playing file of $lines(greetall.txt) lines to $active ...
      play -p $active greetall.txt $iif((%delay isnum 0-),$int($v1),500)
      remove greetall.txt
    }
    else { echo -agc info * /greetall: Taking care of yourself? o_O }
  }
  else { echo -agc info * /greetall: Cannot greet here ( $+ $active is not a joined channel) }
}