But I forgot Sherlock Holmes' dictum: "When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth."
For you see, there was STILL a "use utf8" left in there, causing all the trouble.
Once I took that one out (really for sure this time), everything worked, well, not perfectly, but then I patched it a bit more, and hacked some of the t/corpustest.t things to skip running under 5.6, and now everything works under 5.8, 5.6, and even 5.005.
Under perls before 5.8, =encode foo is emulated by something that only supports ASCII and Latin-1, and characters over 255 all get you a ? character.
So, crisis (well, hassle) averted.
-- Sean M. Burke http://search.cpan.org/~sburke/
