Sachverhalt:
A. B._, geboren 1947, meldete sich am 24. Oktober 2000 unter Hinweis auf Rücken- und Knieschmerzen bei der Invalidenversicherung zum Leistungsbezug an. Am 18. Juli 2001 sprach ihr die IV-Stelle des Kantons St. Gallen ab 1. November 2000 eine halbe Invalidenrente zu. Dies bestätigte die IV-Stelle in einem ersten Revisionsverfahren am 22. Juli 2003. Mit Verfügung vom 20. Juli 2005 lehnte die IV-Stelle eine Erhöhung der Rente ab. Mit Einspracheentscheid vom 30. Januar 2006 zog die IV-Stelle die Verfügung vom 18. Juli 2001 wie angedroht zu Ungunsten von B._ in Wiedererwägung, stellte fest, dass der Invaliditätsgrad rentenausschliessende 38,64 % beträgt und hob die Ausrichtung der halben Rente per 1. März 2006 auf.
B. Das Versicherungsgericht des Kantons St. Gallen hiess die hiegegen erhobene Beschwerde mit Entscheid vom 8. Dezember 2006 teilweise gut, hob den Einspracheentscheid vom 30. Januar 2006 auf und stellte fest, dass B._ weiterhin Anspruch auf eine halbe Invalidenrente hat.
C. Die IV-Stelle führt Verwaltungsgerichtsbeschwerde mit dem Antrag, der angefochtene Entscheid sei aufzuheben und der Einspracheentscheid vom 30. Januar 2006 sei zu bestätigen.
B._ lässt auf Abweisung der Verwaltungsgerichtsbeschwerde schliessen. Das Bundesamt für Sozialversicherungen verzichtet auf eine Stellungnahme.
Das Bundesgericht zieht in Erwägung:
1. Das Bundesgesetz vom 17. Juni 2005 über das Bundesgericht (BGG [SR 173.110]) ist am 1. Januar 2007 in Kraft getreten (AS 2006 1205 und 1243). Da der angefochtene Entscheid vorher ergangen ist, richtet sich das Verfahren noch nach OG (Art. 132 Abs. 1 BGG; BGE 132 V 393 E. 1.2 S. 395).
2. Der angefochtene Entscheid betrifft Leistungen der Invalidenversicherung. Das Bundesgericht prüft daher nur, ob das vorinstanzliche Gericht Bundesrecht verletzte, einschliesslich Überschreitung oder Missbrauch des Ermessens, oder ob der rechtserhebliche Sachverhalt offensichtlich unrichtig, unvollständig oder unter Verletzung wesentlicher Verfahrensbestimmungen festgestellt wurde (Art. 132 Abs. 2 OG [in der Fassung gemäss Ziff. III des Bundesgesetzes vom 16. Dezember 2005 über die Änderung des IVG, in Kraft seit 1. Juli 2006] in Verbindung mit Art. 104 lit. a und b sowie Art. 105 Abs. 2 OG).
3. Das kantonale Gericht hat die gesetzlichen Vorschriften zum Umfang des Rentenanspruchs (Art. 28 Abs. 1 und Abs. 1bis IVG in der bis Ende 2003 gültig gewesenen Fassung; Art. 28 Abs. 1 IVG in der am 1. Januar 2004 in Kraft getretenen Version) und zur Revision (Art. 17 Abs. 1 ATSG) zutreffend dargelegt. Zu ergänzen ist, dass der Revisionsordnung nach Art. 17 ATSG der nunmehr in Art. 53 Abs. 2 ATSG verankerte Grundsatz vorgeht, wonach die Verwaltung befugt ist, jederzeit von Amtes wegen auf eine formell rechtskräftige Verfügung, welche nicht Gegenstand materieller richterlicher Beurteilung gebildet hatte, zurückzukommen, wenn sich diese als zweifellos unrichtig erweist und ihre Berichtigung von erheblicher Bedeutung ist. Unter diesen Voraussetzungen kann die Verwaltung eine Rentenverfügung auch dann abändern, wenn die Revisionsvoraussetzungen des Art. 17 ATSG nicht erfüllt sind. Wird die zweifellose Unrichtigkeit der ursprünglichen Rentenverfügung erst vom Gericht festgestellt, so kann es die auf Art. 17 ATSG gestützte Revisionsverfügung der Verwaltung mit dieser substituierten Begründung schützen (BGE 125 V 369 E. 2 mit Hinweisen).
4. Soweit das kantonale Gericht die revisionsweise Erhöhung der Rente abgelehnt hat, blieb der Entscheid unangefochten. Streitig und zu prüfen ist daher einzig, ob die Voraussetzungen für eine Wiedererwägung der Verfügung vom 18. Juli 2001 erfüllt sind.
5. 5.1 Die IV-Stelle stützte die rentenzusprechende Verfügung vom 18. Juli 2001 in medizinischer Hinsicht einzig auf den Bericht des behandelnden Arztes Dr. med. M._, Arzt für Allgemeine Medizin FMH, vom 10. November 2000. Dort wurde der Beschwerdegegnerin eine seit Ende November 1999 bestehende Arbeitsunfähigkeit im bisherigen Beruf von 100 % bis 27. Februar 2000 und von 50 % ab 29. Februar 2000 (seither einzig unterbrochen durch eine zweitägige völlige Arbeitsunfähigkeit im April 2000) bescheinigt. Gestützt auf diese Einschätzung der Leistungsfähigkeit wurde dann der Einkommensvergleich durchgeführt. Die Beschwerdeführerin macht nun zu Recht geltend, die Verfügung vom 18. Juli 2001 sei zweifellos unrichtig gewesen, da einerseits die Arbeitsfähigkeit in einer adaptierten Tätigkeit, die gemäss Gutachten des Dr. med. N._, Spezialarzt Orthopädische Chirurgie FMH, vom 18. Mai 2005, 70 % betrage, nicht eruiert und anderseits der Einkommensvergleich basierend auf dem Einkommen im bisherigen Beruf durchgeführt worden sei.
5.2 Aus den Akten geht ohne weiteres hervor, dass sich die Einschätzung der Arbeitsfähigkeit von Dr. med. M._ einzig auf die angestammte Arbeit und nicht auf eine leidensangepasste Verweisungstätigkeit, wie sie für die Bestimmung des Invaliditätsgrades massgebend wäre, bezieht. Auch kreuzte der behandelnde Arzt in seinem Bericht vom 10. November 2000 an, dass diese Arbeitsansprüche (gemeint ist wohl: Arbeitsunterbrüche) nicht ausschliesslich gesundheitlich begründet seien. Die Beschwerdeführerin hat aber trotz dieser offenkundig mangelhaften Sachverhaltsabklärungen einen Einkommensvergleich durchgeführt, wobei sie im Ergebnis von der attestierten Arbeitsunfähigkeit auf den Invaliditätsgrad schloss, da sowohl das Validen- als auch fälschlicherweise das Invalideneinkommen auf der bisherigen Tätigkeit basierte. Die Zusprechung der halben Rente erfolgte damit nicht nur in offenkundiger Verletzung des im Sozialversicherungsrecht allgemein geltenden Untersuchungsgrundsatzes im Sinne mangelhafter Sachverhaltsabklärung, sondern auch in unrichtiger Anwendung der für die konkrete Invaliditätsbemessung einschlägigen Rechtsregeln (siehe dazu Urteil O. vom 21. August 2006, I 64/06 mit Hinweisen).
5.3 Trotz dieser offenkundigen Mängel hält das kantonale Gericht das Erfordernis der zweifellosen Unrichtigkeit als nicht erfüllt, da nicht erstellt sei, dass eine konkrete Invaliditätsbemessung hinsichtlich des Leistungsanspruchs zu einem anderen Ergebnis geführt hätte. Dem ist entgegenzuhalten, dass im Einspracheentscheid vom 30. Januar 2006 ein in allen Teilen zutreffender und nachvollziehbarer Einkommensvergleich für das Jahr 2000, basierend auf einer Arbeitsfähigkeit von 70 % in einer leidensangepassten Tätigkeit, zu einem rentenausschliessenden Invaliditätsgrad von 38,64 % führt. Dabei ist auch ein Leidensabzug von 10 % berücksichtigt. Die damalige Bejahung einer halben Invalidität bewegte sich daher nicht mehr im Bereich vertretbarer Ermessensausübung. Daran ändert wiedererwägungsrechtlich nichts, dass die Beschwerdeführerin bei den beiden Überprüfungen des Invaliditätsgrades an der ursprünglichen Rentenzusprache festhielt (BGE 105 V 29). Ihren Fehler hat sie offensichtlich erst im Rahmen des Einspracheverfahrens gegen die Verfügung vom 20. Juli 2005 entdeckt.
6. Das Verfahren ist kostenpflichtig (Art. 134 Satz 2 OG in der seit 1. Juli 2006 geltenden Fassung). Die Gerichtskosten sind der Beschwerdegegnerin als unterliegender Partei aufzuerlegen (Art. 156 Abs. 1 in Verbindung mit Art. 135 OG).
Demnach erkennt das Bundesgericht:
1. Die Verwaltungsgerichtsbeschwerde wird gutgeheissen. Der Entscheid des Versicherungsgerichts des Kantons St. Gallen vom 8. Dezember 2006 wird aufgehoben, soweit damit die Beschwerde gegen den Einspracheentscheid vom 30. Januar 2006 teilweise gutgeheissen wird.
2. Die Gerichtskosten von Fr. 500.- werden der Beschwerdegegnerin auferlegt.
3. Der geleistete Kostenvorschuss von Fr. 500.- wird der Beschwerdeführerin zurückerstattet.
4. Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons St. Gallen, der Ausgleichskasse der Migros-Betriebe und dem Bundesamt für Sozialversicherungen zugestellt.
Luzern, 4. Mai 2007
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber: