No conozco como es la estructura de memoria interna de un array, pero si es como los strings, el primer byte dice la longitud y si lo rellenas con 0 se volverá un array "vacio".
También puede ser que se trate de un caracter especial al final de cada "subarray" como el \n en C.
¿Por qué no lo inicializas de mas forma natural a delphi?
Si no son millones de celdas en el array, no creo que tome un tiempo excesivo...
Código Delphi
[-]
var
cc : array of array of real;
...
SetLength(cc, numX, numY);
...
for j := 0 to numY - 1 do begin
for i := 0 to numX - 1 do begin
cc[i-1, j-1] := 0;
...