If you delete the image that your sprite is using for it's source, than the sprite will also change. Finally, the blue screen appears because sprites are rendered as textured 3d plains. The blue screen is the infamous default backdrop for a 3d scene.
Is that your full code or just a piece of it? You need a loop or else your program will close. I guess I'm also not sure what the point of this is:
load image path$+"zari1.bmp",21
sprite 1,0,0,21
hide sprite 1
delete sprite 1
delete image 21
All it does is load a sprite and then instantly delete it. Maybe that is why you are not seeing your sprite on the screen?
My modification of your code:
sync on:sync rate 60
path_graphics$="General\Graphics\"
load_dice(path_graphics$)
do
if scancode>0 then end
sync
loop
function load_dice(path$)
load image path$+"zari1.bmp",21
sprite 1,0,0,21
endfunction