Depending on the individual, it may be difficult to nearly impossible to explain this behavior to a customer/user. Maybe, just maybe, the following will help:
Each physical key in a keyboard produces a unique scan code (an ID number) that identifies which key is pressed/released. The label on the surface of the key does not matter. To illustrate this point, imagine if you removed, swapped and re-installed the "3" and "7" keys and then pressed the key to the immediate right of the "2" key (now labeled as "7"), the scan code for the physical "3" key will be transmitted, not the scan code for the physical "7" key.
Because they are different keys, the period/dot key position in the regular portion of the keyboard transmits a different scan code from the period/dot key in the keypad portion of the keyboard. They are not the same, even if the key shows the same symbol on its surface.
The hardware device driver for the keyboard translates these scan codes into virtual key codes (a different ID number, one that Windows expects to receive) before it notifies the Windows operating system. Because the scan codes are not the same, the virtual key code for the period/dot key in the regular portion of the keyboard differs from the period/dot key in the keypad portion of the keyboard.
When regional localization is being used, Windows substitutes virtual key codes as needed. For example, with European localization, the numeric keypad period/dot virtual key code gets swapped for the comma's virtual key code, even though the label on the surface of the key shows a period/dot. Remember, how the key is labeled makes no difference, what matters is the scan code of the physical key. Windows then places a "key down" event message on the active thread's message queue, passing it the (changed, localization-swapped) virtual key code.
The application software then decides how to interpret the virtual key code in the "key down" event message. PowerBuilder, and applications created with PowerBuilder, "see" a comma, so a comma is produced. This is how PB works "under the covers", and developers cannot change this behavior. MS Word apparently does something different. Neither app is incorrect, per se... they each work the way there have been designed to work.
Conclusion: If the customer wants to input a period in any PB application when European localization is being used, they must press the period key that resides in the regular portion of the keyboard (the one highlighted in the keyboard diagram in my previous reply).
Here is a link that describes most of this in a little more detail:
https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input
Good luck with helping your customer understand this.
Best regards, John