Si, eso me pasaba a mí, que solo aceptaba el último hasta que le puse los corchetes "[]" al final del nombre del select y me los mandaba como un array. Vuelve a probar tal y como dice este artículo que lo explican mejor que yo, verás como funciona:
Recoger datos de un select múltiple
Postea los resultados, te espero, a ver si lo solucionamos pronto.