Buffers that are declared to be the exact size of a word or a sentence will probably overflow when text is translated.
char szOK[3];
GetButtonName(szOK); // overflows when "OK" is
translated to
// "Aceptar" for Spanish
Remember that with the Win32 API, stack space is no longer at a premium, so feel free to make a large buffer:
#define cbMaxSz 4095 // the
largest size a string buffer can
// be in Win32
...
char szOK[cbMaxSz]; // room for largest translation
GetButtonName(szOK);