It really does suck with this wallpaper. I've been debugging for few days since the problem occurred too.
I think gl context doesn't change between onPause and onSurfaceChanged. Here's the log:
I logged all states. (This is still the one with frame buffer disposed at onResume(). )
06-01 21:19:50.421: I/jPCT-AE(6423): Engine onPause():
06-01 21:19:52.111: I/jPCT-AE(6423): Engine onResume():
06-01 21:19:52.121: I/jPCT-AE(6423): onSurfaceChanged!
06-01 21:19:52.121: I/jPCT-AE(6423): Visibility lists disposed!
06-01 21:19:52.121: I/jPCT-AE(6423): Unloaded texture: 6
06-01 21:19:52.121: I/jPCT-AE(6423): Unloaded texture: 5
06-01 21:19:52.121: I/jPCT-AE(6423): Unloaded texture: 2
06-01 21:19:52.121: I/jPCT-AE(6423): Unloaded texture: 3
06-01 21:19:52.121: I/jPCT-AE(6423): Unloaded texture: 1
06-01 21:19:52.121: I/jPCT-AE(6423): Unloaded texture: 4
06-01 21:19:52.126: I/jPCT-AE(6423): All texture data unloaded from gpu!
06-01 21:19:52.126: I/jPCT-AE(6423): Disposing VBOs!
06-01 21:19:52.151: I/jPCT-AE(6423): Renderer disposed!
06-01 21:19:52.151: I/jPCT-AE(6423): GLRenderer disposed with id 0 on Thread[GLThread 3989,5,main]
06-01 21:19:52.151: I/jPCT-AE(6423): GLRenderer created with id 1 on Thread[GLThread 3989,5,main]
06-01 21:19:52.151: I/jPCT-AE(6423): OpenGL vendor: ARM
06-01 21:19:52.151: I/jPCT-AE(6423): OpenGL renderer: Mali-400 MP
06-01 21:19:52.151: I/jPCT-AE(6423): OpenGL version: OpenGL ES-CM 1.1
06-01 21:19:52.151: I/jPCT-AE(6423): OpenGL renderer initialized (using 2 texture stages)
06-01 21:19:52.156: I/jPCT-AE(6423): Allocating native memory for 128*128 texture(true/false/false/false/): 65536 bytes!
06-01 21:19:52.156: I/jPCT-AE(6423): New texture's id is: 1
06-01 21:19:52.156: I/jPCT-AE(6423): New texture uploaded: com.threed.jpct.Texture@41c23f10 in thread Thread[GLThread 3989,5,main]
06-01 21:19:52.156: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.156: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.156: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.156: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.156: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.156: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.156: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.156: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.156: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.156: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.156: I/jPCT-AE(6423): Allocating native memory for 1024*1024 texture(true/false/false/false/): 4194304 bytes!
06-01 21:19:52.331: I/jPCT-AE(6423): New texture's id is: 2
06-01 21:19:52.341: I/jPCT-AE(6423): New texture uploaded: com.threed.jpct.Texture@41c000b0 in thread Thread[GLThread 3989,5,main]
06-01 21:19:52.341: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.341: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.341: I/jPCT-AE(6423): Allocating native memory for 1024*1024 texture(true/false/false/false/): 4194304 bytes!
06-01 21:19:52.531: I/jPCT-AE(6423): New texture's id is: 3
06-01 21:19:52.566: I/jPCT-AE(6423): New texture uploaded: com.threed.jpct.Texture@41c30410 in thread Thread[GLThread 3989,5,main]
06-01 21:19:52.566: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.566: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.566: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.566: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.566: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.566: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.566: I/jPCT-AE(6423): Allocating native memory for 64*64 texture(true/false/false/false/): 16384 bytes!
06-01 21:19:52.566: I/jPCT-AE(6423): New texture's id is: 4
06-01 21:19:52.566: I/jPCT-AE(6423): New texture uploaded: com.threed.jpct.Texture@41c1efc0 in thread Thread[GLThread 3989,5,main]
06-01 21:19:52.566: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.566: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.571: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.571: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.571: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.571: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.571: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.571: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.571: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.571: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.571: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.571: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.571: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.571: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.571: I/jPCT-AE(6423): Allocating native memory for 128*32 texture(true/false/false/false/): 16384 bytes!
06-01 21:19:52.571: I/jPCT-AE(6423): New texture's id is: 5
06-01 21:19:52.576: I/jPCT-AE(6423): New texture uploaded: com.threed.jpct.Texture@41c0cd28 in thread Thread[GLThread 3989,5,main]
06-01 21:19:52.576: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.576: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.576: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.576: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.576: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.576: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.576: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.576: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.576: I/jPCT-AE(6423): Allocating native memory for 64*64 texture(true/false/false/false/): 16384 bytes!
06-01 21:19:52.576: I/jPCT-AE(6423): New texture's id is: 6
06-01 21:19:52.576: I/jPCT-AE(6423): New texture uploaded: com.threed.jpct.Texture@41bfbd78 in thread Thread[GLThread 3989,5,main]
06-01 21:19:52.576: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.581: I/jPCT-AE(6423): Creating buffers...
06-01 21:19:52.581: I/jPCT-AE(6423): OpenGL context has changed(2)...recovering for renderer 1/0!
06-01 21:19:52.581: I/jPCT-AE(6423): Creating buffers...
Does replaceTexture unload previous texture immediately? If not, there might be out of memory issue since the textures are quite huge. Can't afford to put multiple big textures in memory.