$inroundrect is buggy in 6.21 indeed. $inellipse is also buggy, which might be the cause of the problem in $inroundrect. Until it's fixed, you can use these scripted versions of the identifiers (you should probably do a version check and use the built-in counterparts when appropriate, as they're faster):
Code:
alias inellipseq {
  if ($calc((1-(2*($1 -$3 -$5 /2) /$5)^2)^0.5*$6 /2) && $&
    $abs($calc($2 -$4 -$6 /2)) isnum 0- $+ $v1) return $true
  return $false
}
alias inroundrectq {
  if $inrect($1,$2,$3,$4,$5,$6) { 
    var %a = $7 / 2, %b = $8 / 2, %x = $1 - $3, %y = $2 - $4
    if %x < %a {
      if (%y < %b) return $inellipseq($1,$2,$3,$4,$7,$8)
      if (%y > $calc($6 -%b)) return $inellipseq($1,$2,$3,$calc($4 +$6 -$8),$7,$8) 
    }
    elseif %x > $calc($5 -%a) {
      if (%y < %b) return $inellipseq($1,$2,$calc($3 +$5 -$7),$4,$7,$8)
      if (%y > $calc($6 -%b)) return $inellipseq($1,$2,$calc($3 +$5 -$7),$calc($4 +$6 -$8),$7,$8)
    }
    return $true
  }
  return $false
}
Note that there is no error checking at all here (to save execution time), so you should be careful not to pass invalid parameters (or an invalid number of parameters).