So I guess the question would be is having a channel given by the /LIST command like %#channel not be considered by mIRC to not be a 'non-text' channel.
Seems so to me. How is mIRC supposed to know it's a prefix specific to LIST anyway, as opposed to non-alpha channel data?
I'm still dubious as to whether mIRC will actually join the correct channel even if it displays in the channel list. I imagine it would literally try to join %#channel, which mIRC will either convert into #%#channel, or it won't and the server will give you an error. Though it could also accept it, but that would be even weirder.