Try this to view the dual arrow key codes and the release code. You will need to change the Num Lock status if the arrow release code is 170. That also may happen with the Home keyboard too:
SCREEN 12 ' best to see codes
k = INP(&H60)
IF k < 129 THEN COLOR 10 ELSE COLOR 12
LOCATE 12, 20: PRINT "Scancode ="; k; SPACE$(2);
A$ = inkey$
LOOP UNTIL k = 1 ' escape exit
I have no problems moving using an array with my keyboard.