I wondered if Sprites used a different algorithm that was more forgiving, but it seems not. Here's my test, where the lines appear and disappear depending on size:
// set window properties
SetWindowTitle( "Lines" )
SetWindowSize( 1440, 900, 0 )
// set display properties
SetVirtualResolution( 720, 450)
sync()
for y = 100 to 400 step 50
drawLine(100,y,400,y,255,0,0)
next y
for x = 100 to 400 step 50
drawLine(x,100,x,400,255,0,0)
next x
render()
img = getImage(100,100,400,400)
spr = createSprite(img)
s = 300
r = 1
setSpritePosition(spr,50,50)
do
SetSpriteSize(spr, s,s)
Sync()
if s < 10 or s > 300 then r = r * -1
s = s + (1 * r)
loop
Quidquid latine dictum sit, altum sonatur