It leaves the COM open, which is not really acceptable, unless you keep executing the identifier constantly.
Also, the binvar thing slows it down, so:
alias regread {
if (!$com(rr)) .comopen rr WScript.Shell
tokenize 32 $com(rr,RegRead,3,bstr,$1) $com(rr).result
return $2-
}