I tried out your $controlat identifier, It seems to be more complex than needed for this situation and leaves a bunch of global variables. It's also rather quite slow since it's re-calculating every time off of $1-.

I had already come up with a solution to this for a temporary fix (or permanent if this isn't deemed a bug, or $wrap().cc feature doesn't get added) which basically just backlogs the state of each control code within each return of $wrap() and sets them locally, and prepends each line with what control codes remained active.

Here's the modified version:

Code:
alias WrapBug { window -dpfe @WrapBug -1 -1 320 240 }
on *:input:@WrapBug: {
  var %a = @WrapBug , %w = $window(@WrapBug).dw , %h = $window(@WrapBug).dh
  var %x = 0 , %y = $wrap($1-,$window(%a).font,$window(%a).fontsize,%w,0) , %height = $height($1-,$window(%a).font,$window(%a).fontsize)
  var %b = 0 , %u = 0 , %r = 0 , %i = 0 , %bg = -1 , %fg = -1 
  while (%x < %y) {
    inc %x
    var %t = $wrap($1-,$window(%a).font,$window(%a).fontsize,%w,%x)
    drawscroll -n %a 0 $calc(%height * -1) 0 0 %w %h
    drawrect -nf %a $color(background) 1 0 $calc(%h - %height) %w %height
    var %pre = $+($iif(%b,$chr(2)),$iif(%u,$chr(31)),$iif(%r,$chr(22)),$iif(%i,$chr(29)),$iif(%bg > -1 && %fg > -1,$+($chr(3),%fg,$chr(44),%bg),$iif(%fg > -1,$+($chr(3),%fg))))
    drawtext -np %a $color(normal) 0 $calc(%h - %height) %pre $+ %t
    if ($regex(CC,%t,/(\x03(?:(?:\d\d?)\x2c)?(?:\d\d?)|[\x02\x1f\x16\x03\x1d\x0f])/g)) {
      var %x1 = 0 , %y1 = $v1
      while (%x1 < %y1) {
        inc %x1
        var %cc = $regml(CC,%x1)
        if (%cc = $chr(3)) { var %bg = -1 , %fg = -1 }
        elseif (%cc = $chr(2)) { var %b = $xor(%b,1) }
        elseif (%cc = $chr(31)) { var %u = $xor(%u,1) }
        elseif (%cc = $chr(22)) { var %r = $xor(%r,1) }
        elseif (%cc = $chr(29)) { var %i = $xor(%i,1) }
        elseif (%cc = $chr(15)) { var %b = 0 , %u = 0 , %r = 0 , %i = 0 , %bg = -1 , %fg = -1 }
        else {
          if ($regex(%cc,/^\x03(\d\d?)$/)) { var %fg = $regml(1) }
          elseif ($regex(%cc,/^\x03(\d\d?)\x2c(\d\d?)$/)) { var %fg = $regml(1) , %bg = $regml(2) }
        }
      }
    }
  }
  drawdot %a
}