Ну зачем сразу запрет.
array, по идеи, часть синтаксиса, и позволяет формально задавать массив чего угодно. Как он будет работать - проблемы программиста. Тут нет особого смысла задавать доп. ограничения, т.к. идея массива - просто блок совершенно произвольных данных.
TList же - фактически является сторонним по отношению к языку расширением. То есть можно сделать компилятор паскаля, который будет компилировать чистый pas, но не будет иметь сторонних библиотек (или будет иметь другие). Уверен, в стандарте паскаля (если он конечно имеется
) не прописано TList'а. Зато TList имеет полезные ништяки типа Add.
Ну а зачем TObjectList - понятно.