what I really need is a way to keep the backbuffer from getting overwritten by the front buffer
Make a new buffer and use that instead. eg...
WIDTH=800 HEIGHT=600 Graphics WIDTH,HEIGHT,0,1 screenBuffer=CreateImage(WIDTH,HEIGHT) While Not KeyHit(1) SetBuffer ImageBuffer(screenBuffer) Color Rand(50,255),Rand(50,255),Rand(50,255) Plot Rand(0,WIDTH-1),Rand(0,HEIGHT-1) SetBuffer BackBuffer() DrawBlock screenBuffer,0,0 Flip Wend