tu non hai fatto un Array... hai esteso la classe Array e l'hai trattata come un oggetto... e non con gli indici numerici (come di norma)... facendo ciò hai convertito la classe in Object... perdendo quindi la proprietà length
perchè non estendi la classe in questo modo?
Array.prototype.push = function(o) { ... }
ArrayFico = Array;
a = new ArrayFico();
a[0]=1;
a[1]=2;
a[2]=3;
alert(a.length);
ciao