I could swear you were the one that told me that it also applied to one byte *CHAR values passed by value, in addition to RTNVAL?!
I thought Jerry's question was about a parameter, not about the return value. So if parms by value can't cause this problem, I've misdiagnosed it entirely. (Which makes me wonder why my solution solved the problem...)