Вам вроде объяснили. У Вас нет элемента [n][27] и элемента [20][n]. Их нет. 27-й элемент имеет индекс 26. Соответственно все написанные условия приводят к ошибке — Вы обращаетесь к элементу, которого нет. Какими еще словами это объяснять, я не знаю. Предлагаю поспать и перечитать топик.
Я вообще не понял зачем Вам этот огород. Все эти вопросы только для того, чтобы выяснить, есть ли там элемент с индексом, который хочется проверить на живучесть. Вуаля.

Код AS3:
var arr:Array = new Array(9);
trace(arr[9] == null); // true
Так что вместо того, чтобы пытать значения итераторов, достаточно просто спросить, есть там кто? А уже потом — живой ли он?
Другими словами:

Код AS3:
if(mama[j - 1][j2 - 1] is enemy && mama[j - 1][j2 - 1].alive) liver_a ++;
if(mama[j - 1][j2] is enemy && mama[j - 1][j2].alive) liver_a ++;
if(mama[j - 1][j2 + 1] is enemy && mama[j - 1][j2 + 1].alive) liver_a ++;
if(mama[j + 1][j2 - 1] is enemy && mama[j + 1][j2 - 1].alive) liver_a ++;
if(mama[j + 1][j2] is enemy && mama[j + 1][j2].alive) liver_a ++;
if(mama[j + 1][j2 + 1] is enemy && mama[j + 1][j2 + 1].alive) liver_a ++;
if(mama[j][j2 + 1] is enemy && mama[j][j2 + 1].alive) liver_a ++;
if(mama[j][j2 - 1] is enemy && mama[j][j2 - 1].alive) liver_a ++;
Кроме того, можно просмотр этого квадрата 3х3 запихать в свой двойной циклик, дабы не строчить ритмичным стихом. Сможете?
Понять бы еще, чего считает этот счетчик печенок по всему полю)))