And after some testing, it seems that's the problem. My test code can be found here:http://download577.mediafire.com/jnza7ybur4qg/ievqu4buekair6k/test_texture.zip
I'm surprised at how ubiquitous using power-of-two textures must be. Basically no other applications seemed to have problems. I never had problems, so I guess I assumed it was irrelevant.
Uggggh I assume I'll have to rewrite my texture code so that it can take an argument to scale surfaces to the nearest factor of two. Any other way? I know of ARB_texture_rectangle, but that sounds horrible. Blech. I hate Intel.