Hi Wolfie;
The behavior you are describing is a limitation in the hardware design itself.
Each button on the Microsoft controller is a momentary switch (excluding triggers and joystick axis movements as these are classic analog resistor dividers via a potentiometer). One side of the momentary switch is connected to ground, while the other side of the momentary switch is connected to a digital I/O pin on the MCU of Microsoft's gamepad (as well as to a pull-up resistor to pull the line to a logic 1 when the line is 'idle'). When the user presses a button on the gamepad, the Microsoft MCU's corresponding digital I/O pin is grounded, and the Microsoft MCU reads a logic 0 on that pin.
A digital I/O pin on the Viking modchip MCU is connected to each of the digital I/O pins on the MCU of Microsoft's game pad. The Viking monitors these I/O lines. And of course the Viking can also output a logic 0 to this line. However, when the user is pressing the gamepad button (such as pressing the LS), any and all other signals are null and void, because that pI/O line is being held to ground, or logic 0.
The only way to overcome this limitation would be to double the amount of I/O lines between the Viking MCU and the Microsoft circuit board as such: to use a razorblade to cut the copper traces going from each digital I/O pin of the MCU to each gamepad button. Then, manually install two very small 30 awg wires, one on each "side" of the cut trace; one on the MCU side of the cut trace, and one on the button side of the cut trace. Then each wire would be run to a separate digital I/O pin on the Viking. Now, the Viking MCU could then perform a "Man in the middle" type of hack on each I/O line. The signal to-and-from the Microsoft MCU and the physical button could be passed through or manipulated however the user saw fit.
This type of installation would be incredibly difficult to make. We're talking 40+ wires being attached directly to copper traces. It would be highly unreliable due to the number of fragile soldered connections. Not a commercially viable solution. A single install could take 7-8 hours (labor costs alone would be in the $200-$250 range based on what I pay my techs including overheads). So, we took the easy way out and added 6 tac switches for macro assignment instead.