Category 10 is the exceptional case. Catcode-10 characters with character
code <> 32 can only be produced by \uppercase/\lowercase tricks (TeXbook,
Appendix D). So the pair character 0, catcode 10 is not possible: \uppercase
and \lowercase cannot produce a character 0 from a non-0 character.
Active characters will test true for category 10 with \ifcat if they are
\let equal to a space token. But if the ~ character (say) has been so
defined, it will not match a space in the delimiter text of a macro with
delimited arguments. And according to \tracingcommands the meaning of an
active tilde that has been \let equal to a space is "blank space ",
whereas the meaning of a category-10 tilde is "blank space ~".