clip._rotation не принимает значения больше 180. Замените:
clip._rotation >= 270 на clip._rotation >= -90
clip._rotation >= 360 на clip._rotation == 0
Либо введите переменную, cur_rotation и плюсуйте и сравнивайте ее.
Например:

Код AS1/AS2:
var cangle = 0;
var angle = 0;
knopka.onRelease = function () {
angle += 90;
clip.onEnterFrame = oef;
}
function oef() {
if (cangle >= angle) {
delete(this.onEnterFrame);
} else {
cangle += 5;
clip._rotation = cangle;
}
}
Если нужно во время выполнения вращения блокировать нажатия на кнопку, то вот:

Код AS1/AS2:
var cangle = 0;
var angle = 0;
knopka.onRelease = function () {
if (!clip.onEnterFrame) {
angle += 90;
clip.onEnterFrame = oef;
}
}
function oef() {
if (cangle >= angle) {
delete(this.onEnterFrame);
} else {
cangle += 5;
clip._rotation = cangle;
}
}
ps. Вариант с блокировкой, с одной переменной и однострочными функциями:

Код AS1/AS2:
var angle = 0;
knopka.onRelease = function () {
clip.onEnterFrame = angle || (angle += 90) ? oef : oef;
}
function oef() {
this._rotation += angle ? 5 + 0 * (angle -= 5) : 0 * delete this.onEnterFrame;
}