Thanks for the voltages, so the issue seems to be on the sink side of the matrix.
As you're troubleshooting the _L board and the _R board works fine, it would seem as though the data is getting though correctly.
Could you try the following commands in MIOS terminal:
set dout d0 1 %turns first output on
set dout d0 0 %turns first output off
set dout d7 1 %turns eighth output on
Here you manually set the pins, so this can rule out any errors from the software side. You can also try it with the .NGC loaded. When d0=1, the first four encoder switches should work when pressed. set d0=0, then d1=1 should allow the first four Matias switches.
If the component values/types, cabling and soldering are all sound, then I'm beginning to suspect a dud IC. Could have been overheated or subject to static for example.