It turns out that reading the palette just isn't reliable, it works on some PPUs and not others. There is a test program in this post here:
http://forums.nesdev.com/viewtopic.php?p=99773#p99773
Like using the $2004 register, now it makes sense that no games ever did it that way. Except for Micro Machines ($2004 reading), and as a result it's screwed up on older Famicoms (and maybe some rare NESes with early chips, if that combo exists).
I didn't know that either, before you asked.