I would guess that your 2.3 device IS using the software renderer...the same one that the emulator uses. Android's Pixelflinger. And that thing just plain sucks and is full of bugs and render flaws. To verify this, you can have a look at the log output...if it prints out "Pixelflinger" or similar when initializing things, you are doomed.