Ha, it was a typo on MSDN. Under the "Return Value" section it says this:

> In order for toupper to give the expected results, __isascii and islower must both return nonzero.