> -- Цитата:
> После вызова процедуры с любым num, последний элемент массива a всегда равен 0(?!).

Видимо, как раз из-за дополнительного параметра-предела индексов, который Дельфа передает перед каждым открытым массивом. А [untagged]-открытый массив в ББ - это по сути просто указатель, без всякой скрытой информации.

Я Вас тоже подзапутал с этими открытыми массивами, выше я уже написал про свою ошибку с array of...

Самый нормальный вариант, как Вы и сделали - в ББ - untagged-массив, а в Дельфе - указатель. Можно указатель на массив, не обязательно именно pointer.