amigo, esto se ha hablado miles de vecez.
lo que te puedo recomendar es que ajustes el code CSS segun IE, o sea, que logres que el form de vea bien en IE, una vez se vea bien en IE, no tendras problemas en los demas form.
mira mi form
http://www.html09.freeiz.com
velo en ambos navegadores, veras que en IE la unica diferencia es que el backgrund se mueve cmo 5 px hacia arriba y el textarea no me valida los campos clos y rows, pero antes estaba peor que lo que pasa con el tuyo.
saludos
___________________________-
por cierto, el problema es que para el margen o la sangria usas y IE ignora los y por eso se hizo menos ancho el legend, ya que el ancho de este, se bava segun el contenido, pero descartando los queda muy poco ancho.
usa id en los input y usa la opcion padding-left:##px; y alinea todos los inputs a un mismo padding.
mandame MP y te puedo ayudar =D
saludos!!