I had hoped to resolve some of the basic issues first, but here is the latest:
;;;; chanlist
raw 321:*:{
  window -hn "Channels list" 
  if ($appactive == $true) { window -a %active }
  window -hls @chanlist1 
  window @chanlist 10 100 788 200
raw 322:*:{
  aline @chanlist1 $right(... $+ $3,4) - $2 - $4-
raw 323:*:{
  write -c @chanlist.txt
  savebuf @chanlist1 @chanlist.txt
  clear @chanlist1
  .timerrelist 0 50 chanrelist
alias chanrelist {
  set %active $active
  clear @chanlist

alias reversesort {
  var %clistlines = $lines(@chanlist.txt)
  while (%clistlines) {
    aline @chanlist $read -l $+ %clistlines @chanlist.txt
    dec %clistlines
  sline @chanlist 10

I did notice that if the Status window was the active window that it gave the error for /window but I did not see it if a channel window was the active window or if the custom @window was the active window.

This should now list the User count - channel name - topic (if any) in the largest to least order.

As far as the $appactive not working, it does work for me. That being said I did note that mIRC grabbed focus while I had notepad open, it should be noted that I opened notepad from inside mIRC, so that might have some effect. (shrug)