vecchia storia! IE in altezza ti mette sempre l'altezza del carattere, anche se non c'è scritto niente, dovresti mettere font-size: 0;

Però credo ci siamo metodi migliori di quello che stai usando, perché non usi semplicemente i bordi?