Третий код будет работать без изменений и с вашими исходными объектами, если кнопки лежат на _root и код записан в кадре там же. Проверено.
Если кнопки где-то еще, перепишите пути. Например, если код и кнопки внутри мувика, то самый простой вариант записать код в кадре внутри мувика с кнопками и заменить _root на this.
В общем, все рабочее, только подпилите под свои условия, если что.
Вот эта запись вам понятна?
Код AS1/AS2:
for (i = 1; i <=4; i++) {
_root['mybtn' + i].num = i;
_root['mybtn' + i].onRelease = mybtnRelease;
}