Non proprio,

con gli array creati "a mano" funziona proprio come ipotizzo io.

nel senso che se tu crey un array ex novo e man mano lo riempi di oggetti, allora la funzione Array.concat() crea un nuovo array che e' il concatenemento dei precedenti

Faccio un'ipotesi e aspetto che Xinod ci dica qualcosa di piu':

Credo che cio' che viene restituito dal getElemensBy... non sia proprio un array ma un oggetto diverso.

Infatti prova a fare alert(inputs)

e dovresti vedere "object HTML Collection".

A questo punto credo sia meglio fare due cicli for e creare il nuovo array cosi'

edit: ecco, Xinod ha gia' risposto sopra!