Here's a little example of removing a sprite. Mind you, I'm not invalidating the underlying region and bitmap here, which you might need to do if you run out of video memory, but I don't think that is an issue with the way I'm doing this:
https://www.box.com/shared/jbetbkjcus4iyw25uejbsub main()
l=listdir("pkg:/images")
regarray=[]
for each item in l
bmp=createobject("robitmap","pkg:/images/"+item)
reg=createobject("roregion",bmp,0,0,bmp.getwidth(),bmp.getheight())
regarray.push(reg)
end for
screen=createobject("roscreen",true)
compositor=createobject("rocompositor")
compositor.setdrawto(screen,&h000000FF)
timer=createobject("rotimespan")
timer.mark()
i=0
spr=compositor.newsprite(100+rnd(300),100+rnd(300),regarray[0])
while true
screen.clear(&h000000FF)
if timer.totalseconds() > 5 then
i=i+1
if i > regarray.count()-1 then i=0
spr.remove()
spr=compositor.newsprite(100+rnd(300),100+rnd(300),regarray[i])
timer.mark()
end if
compositor.drawall()
screen.swapbuffers()
end while
end sub