this is because mirc is now (since 7.x) an unicode application, internally, $chr(130) get translated to utf8 (the way mirc is representing unicode internally) and as you can guess, in utf8, $chr(130) is represented by two bytes whose value are 194 and 130, regex are handled with a library which work, by default, 'per character':
$regex($chr(130),/./g) is 2 because mirc pass the internal (utf8) value of the character which is in fact two bytes.
To solve the problem, you can tell the regex engine to interpret the input string as utf8 before matching by adding (UTF8) as the first thing to match in the pattern:
$regex($chr(130),/(UTF8)./g) is 1
alias get_chars return $regsubex($1-,/(*UTF8)(.)/g,$!chr( $+ $asc(\t) $+ ) $!+ $+ $chr(32)) :)