I see you initialise 32bit color, but dingux supports only 16bit color (not sure if its 565 or 555). I have no idea what happens when you initialize other color depth than 16, but 16 is the way to go.
As for screen resolution remaining standard (why is?), maybe graphics location is hard coded. The cheap way to go around this, would be render everything on a temporary surface (with the same resolution as the game used natively) and then downscale the temporary surface and display it on actual screen surface.