Даже double выдаёт ту же ошибку. Я проверял на lazarus-64 там такой проблем не вознило, задавал массивы и >30000
Фразу про "
Даже double..." я не понял.
Ваш массив содержит

элементов. Если тип элемента - double, то размер массива -

байт.
У вас скорее всего проблема компилятора Delphi, а не Windows 7/64b.
P.S. В VC2008 тоже нельзя выделить в стеке массив более 2 Гб. MS советует выделять большие массивы в куче (heap) - malloc() или new[]. Аналогов для Delphi я не помню, но они наверняка есть.