Окей... Не может, так не может... Значит здесь именно ретерн нужен. Если вам интересно знать в чем была ошибка, читайте дальше - это полезно знать:
Змея начинает по иксу движение с 310 к нулю.
310 - 20 = 290 - 20 = 270...........50 - 20 = 30 - 20 = 10.
Сейчас она на x = 10, ни одно условие не выполнилось. Змея дальше лезет к нулю.
В следующем кадре ее икс опять уменьшается на 20 и стает еще меньше - "-10", потому что 10 - 20 = - 10.
Так как "-10" меньше чем "10", то выполняется условие:

Код AS3:
if(head.x<10......)
game_over();
Игра закончилась. Ретерна нет, код продолжает выполнятся:

Код AS3:
if (map[(head.x-10)/20][(head.y-10)/20]==1)
И вот тут программа вам говорит, что в массиве НЕТ ТАКОГО ЭЛЕМЕНТА map[-1][еще какой-то там]. Откуда взялось? Все просто: map[(-10 - 10)/20 = -1]