When used with a debug CRT library, isalpha will display a CRT assert if passed a parameter that isn't EOF or in the range of 0 through 0xFF. When used with a debug CRT library, isalpha will use the parameter as an index into an array, with undefined results if the parameter isn't EOF or in the range of 0 through 0xFF.
The weird 'I' character is what shows up (in VC++) when there is garbage data in the string/stream. Make sure that your data is in there correctly and there is not extra garbage data in there (perhaps from copying a array in or something).
This may help: Bug Check 0xCC: PAGE_FAULT_IN_FREED_SPECIAL_POOL
The PAGE_FAULT_IN_FREED_SPECIAL_POOL bug check has a value of 0x000000CC. This indicates that the system has referenced memory which was earlier freed.
well according to the error the assertion comes from line 56 of istype.c, but I think this must be a default value VC++ puts in in debug mode, because in release mode it doesn't come up with the error, it just does nothing.