mail() no es quien tiene problemas con "hotmail" sino com pretendes usarlo a traves de que MTA (Mail transfer Agent) .. NO es lo mismo preteneder usar tu própio servidor SMTP en tu PC instalado bajo una conexión "ADSL"o similar sin una IP y DNS asociados a registros MX y demás .. que usar tu proveedor de hosting donde se supone que todo eso ya lo tienes configurado y lo usan. En otras ocasiones mail() tampoco es quien tiene problemas ..sino las cabeceras HTTP que usas y como compones tu e-mail (es decir: de tu programación .. no de la "función" en sí del lenguaje).
----
Para enviar 1 e-mail a varios usuarios tan sólo tienes que leer de algún sitio tus direcciones a enviar bajo un bucle e ir usando mail() para enviar uno por uno cada e-mail (justamente algo que no le suele gustar mucho a algunos filtros de "antispam" es que se usen muchas direcciones como CC ol BCC)
En las FAQ's de este foro tienes ejemplos de uso de mail() para enviar tu e-mail en HTML .. tambien en la documentación oficial de PHP:
www.php.net/mail
Un saludo,