both games don't recognize button commands from my wheel Thrustmaster T300RS.
Voice Attack recognizes it ok and I am using just the button command separate from the key press meaning
I delete the key press command before selecting a button as I'm assuming they don't work together.
RR matches the button command but PC2 sees button 2 on my wheel as button 1 etc, in the control setup page.
each value is 1 less than the actual button on my wheel.
I'm not sure what you mean by "don't recognize button commands from my wheel", as both games should recognize button presses perfectly.
However, if you're looking to have VoiceAttack press any of those controls ingame, you need to map them to keyboard keys(either exclusively, or as a secondary mapping if the game supports it, which PCars2 does not).
VoiceAttack cannot virtually press joystick buttons, it can only detect when they are physically pressed(this isn't a VoiceAttack limitation really, as the only way to virtually press joystick buttons is to either have a special driver that's explicitly designed to allow for both, or to use a "fake joystick" driver).
You'll likely want to have it setup that buttons on your wheel trigger VoiceAttack commands, which then in turn send keyboard keypresses to the game. This is the most flexible option.
The discrepancy in button IDs is not uncommon, one is using zero-based IDs(the first button is reported as ID 0, the second as ID 1, and so on), whereas the other is using one-based IDs(the first button is ID 1, the second ID 2, and so on). I believe the latter is actually in line with the DirectInput spec(as it is what the Windows control panel also uses, and usually matches any physical marking on the controller).
Unfortunately it's a choice the developer made, so all you can do is mentally add one to each button ID, as you're doing.