Att #wrap ska vara 100% i höjd som du skrivit innebär att den får en fast höjd, precis som om du hade skrivit 600px. Skillnaden är bara att höjden anpassas efter höjden på webbläsarens fönster.
Om du vill att #wrap ska gå ända ner till slutet på sidan när det inte finns något innehåll som fyller upp, ska du använda #wrap {min-height: 100%;}
Att det funkade i IE beror på att IE felaktigt tolkar height som min-height.
För att det ska funka även i IE, när du ändrat till min-height får du lägga till en villkorlig kommentar.