You may or may not know these things, but I want to get these out just in case some of you don't know yet.
#1: All of the graphic screens are 512x512. This means you could buffer the top or bottom screens (assuming you're not in XSCREEN 4) just hidden underneath the screen without changing the graphics screen!
#2: Don't let the nice RGB() function make you assume that you get full 0-255 color resolution. You actually get an equivalent of 0-31 in R, G, and B. I suggest dithering by adding +RND(8) to each color component in RGB() to reduce the appearance of color banding.
#3: If you want to, you can easily exploit the cross GRP BG system to allow you to essentially let you see an up to 512x512 GRP screen that can be easily shifted, scaled and even rotated with a single command each. This is the code I would use.
GPAGE 0,5 BGSCREEN 0,32,32 FOR Y=0 TO 31 FOR X=0 TO 31 BGPUT 0,X,Y,1024+X+(Y*32) NEXT NEXT GCLS 0'The "1024+" is a quick way around the first 16x16 pixels being hidden. Now, using graphics commands as normal will look normal, but now you can manipulate the display with the BG commands like BGOFS, BGSCALE, and BGROT. I'm way too excited for this. It seems great for image manipulator programs.