Потому что в 5.1 нет _ENV ?
В 5.2 как-то переделали механизм окружений, тут подробно расписано
http://lua-users.org/wiki/EnvironmentsTutorialИз того что я понял в 5.1 у каждой функции было свое окружение а в 5.2 окружения стали отдельными таблицами и теперь уже функции можно выполнять в контексте выбранного окружения.
P.s палками не бейте если неправду сказал, читал не вдумчиво