Ich denke hier ist dein Fehler:

eval CRC=CRC16TABLE(1+%bitxor(%bitxor(LB :Num):HB))

Im RPG sind die Indizes 1-256, in VBA aber 0 - 255.

Solange der 0-Wert ja nicht vorkommt, gibts auch keinen MCH-Fehler, allerdings greifst du auf das falsche Element zu.

Übrigens:
Für die ASCII-Codewandlung ist QASCII nur dann korrekt, wenn deine Daten aus der CCSID 037 (EBCDIC-USA) kommen.
Besser wäre es, dieses API zu verwenden:
Convert a Graphic Character String (CDRCVRT, QTQCVRT) API

Hier kannst du gezielt z.B. auf 1252 (ANSI) konvertieren.