I just noticed something.
In the function updown_getrange32(), the high and low limits are declared as WORD PTR, whereas in updown_setrange32(), the corresponding parameters are LONG. Doesn't seem right.
You're right. It should be LONG PTR. I have modified AfxCtl.inc.
Thanks very much for reporting it.