Well, it happened to me once. It worked fine on the emulator, but on device, it just crashed or showed without texture.

Here's the solution: http://stackoverflow.com/questions/8570465/gldrawelements-crashing-on-devices-working-well-on-emulator

EDIT: 
Well, I just saw your question's about 2D, and you're using Perspective to create your viewport, consider changing it to glOrtho.

Also does your mobile use a PowerVR as GPU (Milestone mobiles, etc.)? Mine was, And I've heard out there that the RGB565 configuration is the problem here. It's a good guess. Try changing it too.