If you look at the zenphoto code, the SQL is not determining the image size the random function displays. The SQL, in any of the zenphoto functions, just retrieves the images from the albums, and then runs them through i.php to create an image, a sized image, or a thumb depending on the function.
Rather, the getsizedimage('120') is what does it. It actually uses the i.php to generate the images, which is what zenphoto is using anyway. So I'm not sure how much more overhead there is for the random function generation, as ALL of the images have to be processed through the i.php at some point anyway. If you're worried about caching space, you may want to consider just sizing your images to a smaller size before uploading to zenphoto, that way you're working with a "display" version of the image. Most of my images don't get uploaded over 1024x768, since anything more than that is quite a bit big for regular web users. You also, for copyright reasons, don't want too high of a resolution....
You can adjust the ('120') to any size you want to change the size of the image you can display. Stephane is probably just adjusting the image size higher for her front page random image. The 120 is what I used to display my random image in the thinkdreams theme.