In addition to and expanding on what z64555 said:
1) Why couldn't the additional buttons have been added without changing the hat indexes?
There's a number of assumptions made about the hat buttons being at the end of the normal buttons. It may be possible to untangle it all, but I think it'd be finicky, easy to miss something and probably all replaced anyway once SDL everywhere arrives.
2) Could you add a feature that will detect when a pilotfile has only 32 button bindings, and change the hat binding on-the-fly before the pilotfile is re-saved with the 98 bindings?
That would be possible, but z64555 alluded to this would mean extra conversion code in addition to the one that'll probably be needed for SDL everywhere and/or the multiple joysticks revamp post SDL everywhere. I'd rather not carry that baggage forward forever where the benefit period would be short, and the number of people receiving the benefit would be low (i.e. those with 32+ buttons and *not* using virtual joystick software).
Because this change affects basically everybody who uses a joystick with four buttons. The default binding includes the hat, and suddenly people are going to find that their hat binding which previously worked fine has suddenly stopped working without them changing anything. It not only violates reverse compatibility, it also violates the principle of least astonishment.
I was originally of the opinion that it was a trivial expectation to remap the hat, but you raise some good points. Therefore (and I discussed this in more detail with z64555 on IRC today) I'd prefer at this stage to revert r10933, close the mantis ticket and leave increasing the max joystick buttons to be done post SDL everywhere when multiple joystick support is added.