Nie, dla całego sprita. Może masz źle ustawiony region.
do{
a = x-sprite_width*1.75 + random(sprite_width*3);
b = y+sprite_height/2 + random(sprite_height*1.25);
}until( collision_rectangle(a - sprite_xoffset, b - sprite_yoffset, a - sprite_xoffset + sprite_width, b - sprite_yoffset + sprite_height,all,false,true) == noone )
EDIT
Mała poprawka.