И сейчас выкидывает ошибку, просто почти на всех таблицах OccEnabled стоит в Yes. Поэтому код
X++:
select firstonly forupdate aRecord;
ttsbegin;
aRecord.delete();
ttscommit;
для aRecord с включенным на уровне таблице OCC и компилируется, и выполняется нормально.

Но лучше все же писать
X++:
select firstonly optimisticlock aRecord;
ttsbegin;
aRecord.delete();
ttscommit;
- ведь кто-то может и отключить OCC на таблице, тогда будет ругань при компиляции.
Кстати, в книге Inside MS Dynamics Ax4.0 намудрили с ключевыми словами - есть упоминание и optimisticklock, и optimisticlock.