SaT just uses the button location. So in fact, the Fold/Call/Bet hotkeys in SaT really just correspond to the first,second,third buttons.
I will give you some examples from the OLD client from WinningPoker. In this screenshot, you can see that there are only two buttons visible Fold and Allin. These are in fact the first two buttons, and so they would correlate to SaT's Fold and Call hotkeys:
https://imgur.com/a/e9VEoCx
In this next screenshot, again there are only two buttons visible, this time Check and Allin, and they are the second and third buttons on the table, so they would correspond to SaT's Call and Bet hotkeys respectively:
https://imgur.com/a/YeA2cIw
It sounds like you're seeing a case where WinningPoker is showing the first and the third buttons, and the second button is missing. Can you take a screenshot next time this happens? Does WPN always show that when facing an all-in? And can you verify if it changes depending on whether or not you cover the other player, or whether you are last to act? There may be a few different scenarios, where they show different buttons (such as first/second, or first/third, or second/third).
I'm not sure if SaT should be inspecting to see exactly what buttons are visible, and then modifying its hotkeys. Maybe it should. Maybe it shouldn't. Right now, it just clicks the button location coordinate. I guess another alternative I could display a prompt asking the user "Are you sure?" if I detect some buttons are missing