Did I offend you in some way? If I did that was not my intention.
Db just won’t resize the image. It returns a target bitmap too small error.
If you keep the sprite off screen you don’t loose fps, so if you need to update the screen regularly, and don’t want to keep loading the image, you could do something like this
sync on : sync rate 0
set display mode 1024,768,32
repeat
set cursor 0,10
print "Select screen resolution"
print ""
print "1...1024x768"
print "2...800x600"
print "3...640x480"
sync
until inkey$()="1" or inkey$()="2" or inkey$()="3"
if inkey$()="1" then set display mode 1024,768,32
if inkey$()="2" then set display mode 800,600,32
if inkey$()="3" then set display mode 640,480,32
set text opaque
load image "background1024.bmp",1
sprite 1,-2000,0,1
if screen width()<>1024
size sprite 1,screen width(),screen height()
endif
paste sprite 1,0,0
repeat
text 10,10,str$(screen width())+"x"+str$(screen height())
text 10,30,str$(screen fps())
sync
until inkey$()<>""

Based on Amiga PD game Squigs. Currently being re-written.