I see the problem. The cellsize (of 5) is not accounted for. Try this:
public void addedToWorld(World world)
{
int wide = getImage().getWidth()/5;
int high = getImage().getHeight()/5;
int x = 0, y = 0;
while (!getIntersectingObjects(null).isEmpty())
{
x = (Greenfoot.getRandomNumber(world.getWidth()-wide)+wide/2;
y = (Greenfoot.getRandomNumber(world.getHeight()-high)+high/2;
}
setLocation(x, y);
}

