Ну, на самом деле, не убьёт, но рантайм ошибку выбьет после определённого количества рекурсий, от этого они защиту поставили.
Почему по идее должна убить?
Потому, что конструкция идентична

Код AS3:
while(true)
{
... // процесс выстрела
col --;
}
col уйдёт в минус бесконечность математически, так как ничто не останавливает рекурсию.
Рекурсия не убивает ничего, если нет ошибки в логике.
Исправленный вариант рекурсии(который так или иначе никак не решает задачу)

Код AS3:
function vistrel(col: number){
// процесс выстрела
if(col > 0) vistrel(col-1);
}