However, if you set a resolution to be, lets say, 256x224 you shouldn't copy more than 256x224 pixels to the screen surface when using the IPU, because the app will probably crash.
When adding IPU support to Pocketsnes, it always crashed with some specific PAL games, which we later realised they were the ones which the emulator outputted as 256x239. The cause was that the resolution we were setting when using the IPU was always 256x224, so in those PAL games, 15 extra lines were copied to the screen, corrupting nearby memory.
The first attempts to fix those crashes didn't work because we were changing the resolution one frame late. But fortunately, Nebuleon managed to somehow make it change the resolution in the right frame.
Of course, copying a smaller image works ok.
You can also play with resolutions to achieve different scaling effects. For example, if you want to do horizontal scaling only, you can request a screen height of 240 and that way the height wont be scaled. (you need to turn off the aspect ratio preserving for this)