Il problema non è lì.

Virgilio, IOL, Libero, Hotmail, Live, MSN,... ed altri hanno dei filtri che respingono/mettono nello spam le email a cui mancano degli header.
Prova ad invertire l'ordine degli indirizzi, secondo me gmail continuerà a ricevere l'email, virgilio no.

L'indicazione dei destinatari multipli è giusta, ma sicuramente non metti tutti gli header all'email, tipo: from, reply-to,...

Ad ogni modo, se vuoi semplificarti la vita con l'invio delle email, usa PHPMailer, se fai una ricerca qui nella sezione PHP c'è una pillola che spiega come si usa.