Since you wanted a tidy alias I'll do you one better: subsequent calls in the same execution block won't have the overhead of reopening the com, but the com will still get closed at the end of the block:

Code:
alias regread {
  if (!$com(regread)) {
    .comopen regread WScript.Shell
    .timer -io 1 0 .comclose regread
  }
  noop $com(regread,RegRead,3,bstr,$1)
  return $com(regread).result
}