Sachverhalt:
A. A._, geboren 1973, erlitt am 10. Februar 1995 einen Verkehrsunfall. Am 11. November 1996 (Eingang) meldete sie sich zum Bezug von Leistungen der Invalidenversicherung an. Die IV-Stelle St. Gallen sprach ihr mit Verfügungen vom 6. Juli 2001 eine ganze Rente ab 1. Februar 1996 und ab 1. Juni 1999 eine Viertelsrente zu (mit entsprechender Kinderrente ab 1. Juli 1999). Die von der Versicherten erhobene Beschwerde hiess das Versicherungsgericht des Kantons St. Gallen mit Entscheid vom 28. November 2002 teilweise gut; es hob die Verfügungen auf und wies die Sache zu weiteren Abklärungen und zu neuem Entscheid an die IV-Stelle zurück. Diese holte ein Gutachten der Medizinischen Abklärungsstelle (MEDAS) (vom 25. November 2004) und einen Abklärungsbericht Haushalt (vom 20. September 2005) der IV-Stelle Schwyz (in welchem Kanton die Versicherte nun wohnte) ein. Mit Verfügungen vom 25. Oktober/ 19. Dezember 2006 bestätigte die IV-Stelle St. Gallen den Anspruch auf eine ganze Rente ab 1. Februar 1996, stellte aber die Rentenleistungen wegen eines unter 40 % liegenden Invaliditätsgrades auf den 31. August 1999 ein; die laufende Viertelsrente hob sie auf das Ende des der Zustellung der Verfügung folgenden Monats auf.
B. Gegen diese Verfügung reichte A._ beim Versicherungsgericht des Kantons St. Gallen Beschwerde ein. Sie beantragte, die Einstellungsverfügung sei aufzuheben und es sei festzustellen, dass der Anspruch auf Invalidenrente über den 1. Juni 1999 hinaus bis auf Weiteres bestehe. Mit Entscheid vom 22. April 2008 hiess das Versicherungsgericht die Beschwerde gut und hob die Verfügung auf; es sprach der Versicherten für die Periode vom 1. Februar 1996 bis 31. Oktober 1999 eine ganze und für die Zeit ab 1. August 2005 eine halbe Invalidenrente zu. Für die Periode vom 1. November 1999 bis 31. Juli 2005 wies es die Sache an die IV-Stelle zurück, zu weiteren Abklärungen und zu neuer Verfügung über das Rentengesuch im Sinne der Erwägungen.
C. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragt die IV-Stelle St. Gallen die Aufhebung des kantonalen Entscheides und die Bestätigung der Verfügungen vom 25. Oktober/19. Dezember 2006.
A._ verzichtet auf Vernehmlassung; die Vorinstanz beantragt Abweisung, das Bundesamt für Sozialversicherungen Gutheissung der Beschwerde.

Erwägungen:
1. 1.1 Der angefochtene Entscheid legt für zwei Phasen des streitigen Zeitraums (d.h. bis Oktober 1999 und wieder ab August 2005) die Rente verbindlich fest; für die dazwischen liegende Periode (November 1999 bis Juli 2005) weist er die Sache zur näheren Abklärung der Arbeitsfähigkeit und der Behinderung im Aufgabenbereich an die Verwaltung zurück.
1.2 Die Beschwerde an das Bundesgericht ist zulässig gegen Endentscheide, das heisst gegen Entscheide, die das Verfahren abschliessen (<ref-law>), und gegen Teilentscheide, die nur einen Teil der gestellten Begehren behandeln, wenn diese unabhängig von den anderen beurteilt werden können, oder die das Verfahren nur für einen Teil der Streitgenossen und Streitgenossinnen abschliessen (<ref-law>). Gegen selbstständig eröffnete Vor- und Zwischenentscheide ist hingegen die Beschwerde nur zulässig, wenn sie die Zuständigkeit oder den Ausstand betreffen (<ref-law>), einen nicht wieder gutzumachenden Nachteil bewirken können (<ref-law>) oder wenn die Gutheissung der Beschwerde sofort einen Endentscheid herbeiführen und damit einen bedeutenden Aufwand an Zeit oder Kosten für ein weitläufiges Beweisverfahren ersparen würde (<ref-law>). Rückweisungsentscheide, mit denen eine Sache zur neuen Entscheidung an die Vorinstanz zurückgewiesen wird, sind Zwischenentscheide, die nur unter den genannten Voraussetzungen beim Bundesgericht angefochten werden können (<ref-ruling> E. 4.2 S. 481 f.). Anders verhält es sich nur dann, wenn der unteren Instanz, an welche zurückgewiesen wird, kein Entscheidungsspielraum mehr verbleibt und die Rückweisung nur noch der Umsetzung des oberinstanzlich Angeordneten dient (SVR 2008 IV Nr. 39 S. 131, 9C_684/2007 E. 1.1). Ein nicht wieder gutmachender Nachteil im Sinne von <ref-law> liegt für die Verwaltung dann vor, wenn der Rückweisungsentscheid materielle Vorgaben enthält, welche die Verwaltung zwingen würden, eine ihres Erachtens rechtswidrige neue Verfügung zu erlassen (<ref-ruling> E. 5.2.4).
1.3 Das Bundesgericht hat mit Urteil BGE 9C_728/2008 vom 6. April 2009 E. 2 befunden, dass in den Fällen der Zusprechung einer abgestuften und/oder befristeten Rente ein Entscheid, mit welchem eine Vorinstanz eine bestimmte, vorangehende Teilperiode des Rentenanspruchs materiell abschliessend beurteilt und für eine darauf folgende Teilperiode die Sache zu neuer Beurteilung an die Verwaltung zurückweist, in Bezug auf die materiell abschliessend beurteilte Phase ein Teilentscheid (<ref-law>) ist, der selbstständig anfechtbar ist und bei Nichtanfechtung selbstständig rechtskräftig wird und später nicht mehr angefochten werden kann (E. 1.4.4-1.4.6). Demgegenüber ist ein Urteil, mit welchem für einen vorangehenden Zeitraum die Sache an die Verwaltung zurückgewiesen und für einen nachfolgenden Zeitraum materiell beurteilt wird, insgesamt ein Zwischenentscheid; denn im Hinblick auf die Voraussetzungen einer Revision (<ref-law>) kann ein Folgezeitraum nicht abschliessend beurteilt werden, solange der vorangehende Zeitraum nicht beurteilt ist (Urteil BGE 9C_876/2008 vom 14. April 2009). Demzufolge ist der angefochtene Entscheid in Bezug auf den Rentenanspruch für den Zeitraum bis 31. Oktober 1999 ein Teil-Endentscheid, gegen den die Beschwerde uneingeschränkt zulässig ist, für den darauf folgenden Zeitraum aber ein Zwischenentscheid; auf die dagegen gerichtete Beschwerde ist nur unter den Voraussetzungen von Art. 93 Abs. 1 lit. a oder b BGG einzutreten, also nur, wenn er alternativ einen nicht wieder gutzumachenden Nachteil bewirken kann oder wenn die Gutheissung der Beschwerde sofort einen Endentscheid herbeiführen und damit einen bedeutenden Aufwand an Zeit oder Kosten für ein weitläufiges Beweisverfahren ersparen würde.
2. Für die Teilperiode bis Oktober 1999 ist der Sachverhalt unbestritten. Die Beschwerdeführerin rügt indes eine falsche Rechtsanwendung der Vorinstanz hinsichtlich der Festsetzung des Zeitpunkts der Rentenanpassung. Dieser sei nicht auf den 1. November 1999 zu legen, sondern wie verfügt auf den 1. Juni 1999, da der Zeitpunkt der effektiven Erwerbsaufgabe im Mai 1999 massgebend sei und schon damals habe angenommen werden können, dass die Veränderung voraussichtlich längere Zeit dauern werde. Deshalb habe die Anpassung unverzüglich zu erfolgen und sei in der Verfügung korrekt auf den 1. Juni 1999 festgesetzt worden. Die Vorinstanz hat die ganze Rente in Anwendung von <ref-law> drei Monate über die Änderung des Sachverhaltes hinaus zugestanden. Der Wortlaut von Art. 88a Abs. 1 erster Satz IVV würde zwar auch die Rechtsauffassung der Beschwerdeführerin stützen, aber das Bundesgericht wendet in der Regel in solchen Fällen ebenfalls die Vorschrift in Abs. 1 zweiter Satz an und gewährt oder bestätigt eine höhere Rente für zusätzlich drei Monate (so z.B. Urteil 8C_871/2008 vom 24. März 2009 E. 3.1 und 9C_389/2008 vom 21. Januar 2009 E. 3.1). Der vorinstanzliche Entscheid ist in diesem Punkt nicht rechtsfehlerhaft.
3. Was die mittlere Zeitspanne von November 1999 bis Juli 2005 betrifft, handelt es sich beim angefochtenen Entscheid um einen Rückweisungs-, also einen Zwischenentscheid. Die Rückweisung zu neuer Abklärung wegen angeblich ungenügend abgeklärtem Sachverhalt stellt keinen nicht wieder gutzumachenden Nachteil dar (<ref-law>; <ref-ruling> E. 5.2.2); auch führt die vorinstanzlich angeordnete Abklärung nicht zu einem bedeutenden Aufwand im Sinne von <ref-law>, zumal dies in der Beschwerde nicht dargetan wird (Urteil 9C_301/2007 vom 28. September 2007, E 2.2, 9C_234/2007 vom 3. Oktober 2007). Auf die Beschwerde ist somit nur einzutreten, soweit die Vorinstanz der Verwaltung im Rückweisungsentscheid materielle Vorgaben gemacht hat (oben E. 1.1). Das ist hier einzig gegeben in Bezug auf die Anordnung, keine Schadenminderungspflicht des Ehemannes zu berücksichtigen. Insoweit ist die Beschwerde begründet; denn nach der Rechtsprechung ist vom Grundsatz auszugehen, dass einem Leistungsansprecher im Rahmen der Schadenminderungspflicht Massnahmen zuzumuten sind, die ein vernünftiger Mensch in der gleichen Lage ergreifen würde, wenn er keinerlei Entschädigung zu erwarten hätte. Die im Haushalt tätigen Versicherten haben sich so einzurichten, dass die Auswirkungen der Behinderung im hauswirtschaftlichen Bereich abnehmen und ihnen eine möglichst vollständige und unabhängige Erledigung der Haushaltarbeiten ermöglicht wird. Kann die versicherte Person wegen ihrer Behinderung gewisse Haushaltarbeiten nur noch mühsam und mit viel höherem Zeitaufwand erledigen, so muss sie in erster Linie ihre Arbeit einteilen und in üblichem Umfang die Mithilfe von Familienangehörigen in Anspruch nehmen. Ein invaliditätsbedingter Ausfall darf bei im Haushalt tätigen Personen nur insoweit angenommen werden, als die Aufgaben, welche nicht mehr erfüllt werden können, durch Drittpersonen gegen Entlöhnung oder durch Angehörige verrichtet werden, denen dadurch nachgewiesenermassen eine Erwerbseinbusse oder doch eine unverhältnismässige Belastung entsteht. Die im Rahmen der Invaliditätsbemessung bei einer Hausfrau zu berücksichtigende Mithilfe von Familienangehörigen geht daher weiter als die ohne Gesundheitsschädigung üblicherweise zu erwartende Unterstützung (siehe <ref-ruling> E. 4.2 mit zahlreichen Hinweisen). Die Vorinstanz hat darum zu Unrecht angeordnet, dass bei der Ermittlung der behinderungsbedingten Einschränkung der Versicherten im Haushalt keine Mitwirkung des Ehemannes zu berücksichtigen ist.
4. Hinsichtlich der letzten Periode ab August 2005 ist ebenfalls nur unter den Voraussetzungen von <ref-law> auf die Beschwerde einzutreten, da entgegen der vorinstanzlichen Vorgehensweise der Invaliditätsgrad für den nachfolgenden Zeitraum nicht abschliessend festgelegt werden kann, solange derjenige für die vorangehende Periode nicht feststeht (vorne E. 1.3). Der angefochtene Entscheid ist daher ebenfalls als Rückweisungsentscheid zu betrachten, der indessen die Elemente der Invaliditätsbemessung als materielle Vorgaben enthält und insoweit durch die Beschwerdeführerin anfechtbar ist. Sie beanstandet, sie habe nach dem kantonalen Entscheid die Invalidität ab dem genannten Zeitpunkt nicht nach der gemischten Methode zu bemessen, sondern mittels Einkommensvergleich. Die vorinstanzliche Annahme einer hypothetisch 100-prozentigen Erwerbstätigkeit ab Mai 2005 ist indessen als Sachverhaltswürdigung nicht offensichtlich unrichtig. Sie ist nicht (nur) in Anwendung der mehrmals verworfenen St. Galler Zumutbarkeitspraxis (Urteil 9C_49/2008 vom 28. Juli 2008 E. 3) getroffen worden, sondern ebenso in Berücksichtigung der bundesgerichtlichen Rechtsprechung, wonach unter eherechtlichen Gesichtspunkten auf Grund einer Gesamtwürdigung der persönlichen, beruflichen, sozialen und ökonomischen Umstände des konkreten Falles zu beurteilen ist, ob eine versicherte Person ohne Gesundheitsschaden ganz oder teilweise erwerbstätig wäre oder den Haushalt besorgen würde, und keinem dieser Kriterien zum Vornherein vorrangige Bedeutung zukommt (<ref-ruling> in fine; AHI 1997 S. 290 E. 2b, 1996 S. 198 E. 1c). Auch die Rüge ist unbegründet, die Vorinstanz habe sich bei der Sachverhaltswürdigung nicht an einen bundesrechtskonformen Beweisgrad gehalten: Wenn es zwei Hypothesen zu gewichten gibt, ist auf diejenige abzustellen, welche bei rechtskonformer Würdigung des Sachverhaltes die wahrscheinlichere und damit zwangsläufig die überwiegend wahrscheinliche ist; auf dieser Grundlage ist die Annahme einer im Gesundheitsfall vollzeitlichen Erwerbstätigkeit ab Mai 2005 nicht zu beanstanden.
5. Dem Ausgang des Verfahrens entsprechend hat die mehrheitlich unterliegende Beschwerdeführerin die Gerichtskosten zu tragen (<ref-law>).

Demnach erkennt das Bundesgericht:
1. In teilweiser Gutheissung der Beschwerde wird festgestellt, dass bei der vorzunehmenden Ermittlung der behinderungsbedingten Einschränkung der Beschwerdegegnerin im Haushalt eine Mitwirkung des Ehemannes zu berücksichtigen ist. Im Übrigen wird die Beschwerde abgewiesen, soweit darauf einzutreten ist.
2. Die Gerichtskosten von Fr. 500.- werden der Beschwerdeführerin auferlegt.
3. Dieses Urteil wird den Parteien, dem Versicherungsgericht des Kantons St. Gallen, der Ausgleichskasse der Schweizer Maschinenindustrie und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 21. April 2009
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
Meyer Schmutz